]> granicus.if.org Git - php/commitdiff
autocommit setting done right
authorHartmut Holzgraefe <hholzgra@php.net>
Sun, 13 Feb 2005 00:55:16 +0000 (00:55 +0000)
committerHartmut Holzgraefe <hholzgra@php.net>
Sun, 13 Feb 2005 00:55:16 +0000 (00:55 +0000)
ext/pdo_mysql/mysql_driver.c

index 6e47ada85c997c6fdc0e4d212d4d6106c7ff38b8..c9ee6dbf861e87ffc075c764c2381c0084592b72 100755 (executable)
@@ -196,7 +196,11 @@ static int mysql_handle_rollback(pdo_dbh_t *dbh TSRMLS_DC)
 
 static int mysql_handle_autocommit(pdo_dbh_t *dbh TSRMLS_DC)
 {
-       return 0 <= mysql_handle_doer(dbh, ZEND_STRL("SET SESSION AUTOCOMMIT=0") TSRMLS_CC);
+       if (dbh->auto_commit) {
+               return 0 <= mysql_handle_doer(dbh, ZEND_STRL("SET SESSION AUTOCOMMIT=1") TSRMLS_CC);
+       } else {
+               return 0 <= mysql_handle_doer(dbh, ZEND_STRL("SET SESSION AUTOCOMMIT=0") TSRMLS_CC);
+       }
 }
 
 static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)