andrey                                   Fri, 25 Feb 2011 12:25:36 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=308669

Log:
move from macros to functions, which can be overwritten, if needed

Changed paths:
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h
    U   php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd.c
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd.h
    U   php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c	2011-02-25 11:39:36 UTC (rev 308668)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c	2011-02-25 12:25:36 UTC (rev 308669)
@@ -2225,6 +2225,43 @@
 /* }}} */


+/* {{{ mysqlnd_conn::set_autocommit */
+static enum_func_status
+MYSQLND_METHOD(mysqlnd_conn, set_autocommit)(MYSQLND * conn, unsigned int mode TSRMLS_DC)
+{
+	enum_func_status ret;
+	DBG_ENTER("mysqlnd_conn::set_autocommit");
+	ret = conn->m->query(conn, (mode) ? "SET AUTOCOMMIT=1":"SET AUTOCOMMIT=0", sizeof("SET AUTOCOMMIT=1") - 1 TSRMLS_CC);
+	DBG_RETURN(ret);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_conn::tx_commit */
+static enum_func_status
+MYSQLND_METHOD(mysqlnd_conn, tx_commit)(MYSQLND * conn TSRMLS_DC)
+{
+	enum_func_status ret;
+	DBG_ENTER("mysqlnd_conn::tx_commit");
+	ret = conn->m->query(conn, "COMMIT", sizeof("COMMIT") - 1 TSRMLS_CC);
+	DBG_RETURN(ret);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_conn::tx_rollback */
+static enum_func_status
+MYSQLND_METHOD(mysqlnd_conn, tx_rollback)(MYSQLND * conn TSRMLS_DC)
+{
+	enum_func_status ret;
+	DBG_ENTER("mysqlnd_conn::tx_rollback");
+	ret = conn->m->query(conn, "ROLLBACK", sizeof("ROLLBACK") - 1 TSRMLS_CC);
+	DBG_RETURN(ret);
+}
+/* }}} */
+
+
+
 MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC);
 static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC);

@@ -2298,7 +2335,10 @@
 	MYSQLND_METHOD(mysqlnd_conn, send_close),

 	MYSQLND_METHOD(mysqlnd_conn, ssl_set),
-	mysqlnd_result_init
+	mysqlnd_result_init,
+	MYSQLND_METHOD(mysqlnd_conn, set_autocommit),
+	MYSQLND_METHOD(mysqlnd_conn, tx_commit),
+	MYSQLND_METHOD(mysqlnd_conn, tx_rollback)
 MYSQLND_CLASS_METHODS_END;



Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h	2011-02-25 11:39:36 UTC (rev 308668)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.h	2011-02-25 12:25:36 UTC (rev 308669)
@@ -22,8 +22,8 @@
 #ifndef MYSQLND_H
 #define MYSQLND_H

-#define MYSQLND_VERSION "mysqlnd 5.0.7-dev - 091210 - $Revision$"
-#define MYSQLND_VERSION_ID 50007
+#define MYSQLND_VERSION "mysqlnd 5.0.9-dev - 20102224 - $Revision$"
+#define MYSQLND_VERSION_ID 50009

 /* This forces inlining of some accessor functions */
 #define MYSQLND_USE_OPTIMISATIONS 0
@@ -198,9 +198,9 @@
 PHPAPI void mysqlnd_set_local_infile_handler(MYSQLND * const conn, const char * const funcname);

 /* Simple commands */
-#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)
+#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)
 #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)

Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h	2011-02-25 11:39:36 UTC (rev 308668)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd_structs.h	2011-02-25 12:25:36 UTC (rev 308669)
@@ -406,6 +406,11 @@

 typedef MYSQLND_RES * 		(*func_mysqlnd_conn__result_init)(unsigned int field_count, zend_bool persistent TSRMLS_DC);

+typedef enum_func_status	(*func_mysqlnd_conn__set_autocommit)(MYSQLND * conn, unsigned int mode TSRMLS_DC);
+typedef enum_func_status	(*func_mysqlnd_conn__tx_commit)(MYSQLND * conn TSRMLS_DC);
+typedef enum_func_status	(*func_mysqlnd_conn__tx_rollback)(MYSQLND * conn TSRMLS_DC);
+
+
 struct st_mysqlnd_conn_methods
 {
 	func_mysqlnd_conn__init init;
@@ -477,6 +482,9 @@
 	func_mysqlnd_conn__ssl_set ssl_set;

 	func_mysqlnd_conn__result_init result_init;
+	func_mysqlnd_conn__set_autocommit set_autocommit;
+	func_mysqlnd_conn__tx_commit tx_commit;
+	func_mysqlnd_conn__tx_rollback tx_rollback;
 };



Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c	2011-02-25 11:39:36 UTC (rev 308668)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c	2011-02-25 12:25:36 UTC (rev 308669)
@@ -2362,6 +2362,43 @@
 /* }}} */


+/* {{{ mysqlnd_conn::set_autocommit */
+static enum_func_status
+MYSQLND_METHOD(mysqlnd_conn, set_autocommit)(MYSQLND * conn, unsigned int mode TSRMLS_DC)
+{
+	enum_func_status ret;
+	DBG_ENTER("mysqlnd_conn::set_autocommit");
+	ret = conn->m->query(conn, (mode) ? "SET AUTOCOMMIT=1":"SET AUTOCOMMIT=0", sizeof("SET AUTOCOMMIT=1") - 1 TSRMLS_CC);
+	DBG_RETURN(ret);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_conn::tx_commit */
+static enum_func_status
+MYSQLND_METHOD(mysqlnd_conn, tx_commit)(MYSQLND * conn TSRMLS_DC)
+{
+	enum_func_status ret;
+	DBG_ENTER("mysqlnd_conn::tx_commit");
+	ret = conn->m->query(conn, "COMMIT", sizeof("COMMIT") - 1 TSRMLS_CC);
+	DBG_RETURN(ret);
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_conn::tx_rollback */
+static enum_func_status
+MYSQLND_METHOD(mysqlnd_conn, tx_rollback)(MYSQLND * conn TSRMLS_DC)
+{
+	enum_func_status ret;
+	DBG_ENTER("mysqlnd_conn::tx_rollback");
+	ret = conn->m->query(conn, "ROLLBACK", sizeof("ROLLBACK") - 1 TSRMLS_CC);
+	DBG_RETURN(ret);
+}
+/* }}} */
+
+
+
 MYSQLND_STMT * _mysqlnd_stmt_init(MYSQLND * const conn TSRMLS_DC);
 static enum_func_status MYSQLND_METHOD(mysqlnd_conn, init)(MYSQLND * conn TSRMLS_DC);

@@ -2435,7 +2472,10 @@
 	MYSQLND_METHOD(mysqlnd_conn, send_close),

 	MYSQLND_METHOD(mysqlnd_conn, ssl_set),
-	mysqlnd_result_init
+	mysqlnd_result_init,
+	MYSQLND_METHOD(mysqlnd_conn, set_autocommit),
+	MYSQLND_METHOD(mysqlnd_conn, tx_commit),
+	MYSQLND_METHOD(mysqlnd_conn, tx_rollback)
 MYSQLND_CLASS_METHODS_END;



Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.h	2011-02-25 11:39:36 UTC (rev 308668)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.h	2011-02-25 12:25:36 UTC (rev 308669)
@@ -208,9 +208,9 @@
 PHPAPI void mysqlnd_set_local_infile_handler(MYSQLND * const conn, const char * const funcname);

 /* Simple commands */
-#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)
+#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)
 #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)

Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h	2011-02-25 11:39:36 UTC (rev 308668)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h	2011-02-25 12:25:36 UTC (rev 308669)
@@ -411,6 +411,11 @@

 typedef MYSQLND_RES * 		(*func_mysqlnd_conn__result_init)(unsigned int field_count, zend_bool persistent TSRMLS_DC);

+typedef enum_func_status	(*func_mysqlnd_conn__set_autocommit)(MYSQLND * conn, unsigned int mode TSRMLS_DC);
+typedef enum_func_status	(*func_mysqlnd_conn__tx_commit)(MYSQLND * conn TSRMLS_DC);
+typedef enum_func_status	(*func_mysqlnd_conn__tx_rollback)(MYSQLND * conn TSRMLS_DC);
+
+
 struct st_mysqlnd_conn_methods
 {
 	func_mysqlnd_conn__init init;
@@ -482,6 +487,9 @@
 	func_mysqlnd_conn__ssl_set ssl_set;

 	func_mysqlnd_conn__result_init result_init;
+	func_mysqlnd_conn__set_autocommit set_autocommit;
+	func_mysqlnd_conn__tx_commit tx_commit;
+	func_mysqlnd_conn__tx_rollback tx_rollback;
 };


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to