]> granicus.if.org Git - php/commitdiff
revert to previous behavior
authorAndrey Hristov <andrey@php.net>
Fri, 25 Feb 2011 12:52:21 +0000 (12:52 +0000)
committerAndrey Hristov <andrey@php.net>
Fri, 25 Feb 2011 12:52:21 +0000 (12:52 +0000)
ext/mysqlnd/mysqlnd.c
ext/mysqlnd/mysqlnd.h
ext/mysqlnd/mysqlnd_structs.h

index b233438b14aca8fce7fc303c08a8fbb88781518e..ec804a4177da63c2dc5e2cd4779bff29354105d1 100644 (file)
@@ -2335,10 +2335,12 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_conn)
        MYSQLND_METHOD(mysqlnd_conn, send_close),
 
        MYSQLND_METHOD(mysqlnd_conn, ssl_set),
-       mysqlnd_result_init,
-       MYSQLND_METHOD(mysqlnd_conn, set_autocommit),
+       mysqlnd_result_init
+#ifdef AUTOCOMMIT_TX_COMMIT_ROLLBACK
+       ,MYSQLND_METHOD(mysqlnd_conn, set_autocommit),
        MYSQLND_METHOD(mysqlnd_conn, tx_commit),
        MYSQLND_METHOD(mysqlnd_conn, tx_rollback)
+#endif
 MYSQLND_CLASS_METHODS_END;
 
 
index 4b609ae521f55f2e83101223593e5868a93c75ef..368da664c63cb9e5b5fcdf804ce26ce6d17e480a 100644 (file)
@@ -198,9 +198,15 @@ PHPAPI void mysqlnd_local_infile_default(MYSQLND *conn);
 PHPAPI void mysqlnd_set_local_infile_handler(MYSQLND * const conn, const char * const funcname);
 
 /* Simple commands */
+#if AUTOCOMMIT_TX_COMMIT_ROLLBACK
 #define mysqlnd_autocommit(conn, mode)         (conn)->m->set_autocommit((conn), (mode) TSRMLS_CC)
 #define mysqlnd_commit(conn)                           (conn)->m->tx_commit((conn) TSRMLS_CC)
 #define mysqlnd_rollback(conn)                         (conn)->m->tx_rollback((conn) TSRMLS_CC)
+#else
+#define mysqlnd_autocommit(conn, mode)         (conn)->m->query((conn),(mode) ? "SET AUTOCOMMIT=1":"SET AUTOCOMMIT=0", 16 TSRMLS_CC)
+#define mysqlnd_commit(conn)                           (conn)->m->query((conn), "COMMIT", sizeof("COMMIT")-1 TSRMLS_CC)
+#define mysqlnd_rollback(conn)                         (conn)->m->query((conn), "ROLLBACK", sizeof("ROLLBACK")-1 TSRMLS_CC)
+#endif
 #define mysqlnd_list_dbs(conn, wild)           (conn)->m->list_method((conn), wild? "SHOW DATABASES LIKE %s":"SHOW DATABASES", (wild), NULL TSRMLS_CC)
 #define mysqlnd_list_fields(conn, tab,wild)    (conn)->m->list_fields((conn), (tab), (wild) TSRMLS_CC)
 #define mysqlnd_list_processes(conn)           (conn)->m->list_method((conn), "SHOW PROCESSLIST", NULL, NULL TSRMLS_CC)
index 95e676e679a016d7f2bd0f3e2615b12bb77e6aa9..143d799782dd51ff28938b92c249e7218e8fbb64 100644 (file)
@@ -482,9 +482,11 @@ struct st_mysqlnd_conn_methods
        func_mysqlnd_conn__ssl_set ssl_set;
 
        func_mysqlnd_conn__result_init result_init;
+#if AUTOCOMMIT_TX_COMMIT_ROLLBACK
        func_mysqlnd_conn__set_autocommit set_autocommit;
        func_mysqlnd_conn__tx_commit tx_commit;
        func_mysqlnd_conn__tx_rollback tx_rollback;
+#endif
 };