[prev in list] [next in list] [prev in thread] [next in thread]
List: pecl-cvs
Subject: [PECL-CVS] =?utf-8?q?svn:_/pecl/mysqlnd=5Fms/trunk/_mysqlnd=5Fms.c_mysqlnd=5Fms=5Fenum=5Fn=5Fdef.h?=
From: Ulf_Wendel <uw () php ! net>
Date: 2011-11-29 16:21:33
Message-ID: svn-uw-1322583693-320167-1073653970 () svn ! php ! net
[Download RAW message or body]
uw Tue, 29 Nov 2011 16:21:33 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=320167
Log:
Thanks for the hint, Andrey. We can replace this extra flag with a status check.
Changed paths:
U pecl/mysqlnd_ms/trunk/mysqlnd_ms.c
U pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h
Modified: pecl/mysqlnd_ms/trunk/mysqlnd_ms.c
===================================================================
--- pecl/mysqlnd_ms/trunk/mysqlnd_ms.c 2011-11-29 16:20:18 UTC (rev 320166)
+++ pecl/mysqlnd_ms/trunk/mysqlnd_ms.c 2011-11-29 16:21:33 UTC (rev 320167)
@@ -93,7 +93,7 @@
#define CONN_DATA_NOT_SET(conn_data) (!(conn_data) || !*(conn_data) || \
!(*(conn_data))->initialized || (*(conn_data))->skip_ms_calls) #define \
CONN_DATA_TRX_SET(conn_data) ((conn_data) && (*(conn_data)) && \
(!(*(conn_data))->skip_ms_calls))
-#define CONN_DATA_TRY_TRX_INJECTION(conn_data) (((*(conn_data))->connection_opened) \
&& ((FALSE == (*(conn_data))->skip_ms_calls)) && \
((*(conn_data))->global_trx.on_commit) && (TRUE == \
(*(conn_data))->global_trx.is_master)) +#define \
CONN_DATA_TRY_TRX_INJECTION(conn_data, conn) ((CONN_GET_STATE(conn) > CONN_ALLOCED) \
&& ((FALSE == (*(conn_data))->skip_ms_calls)) && \
((*(conn_data))->global_trx.on_commit) && (TRUE == \
(*(conn_data))->global_trx.is_master))
#define MS_TRX_INJECT(ret, connection, conn_data) \
if (PASS == (ret = MS_CALL_ORIGINAL_CONN_DATA_METHOD(send_query)((connection), \
((*(conn_data))->global_trx.on_commit), ((*(conn_data))->global_trx.on_commit_len) \
TSRMLS_CC))) \ @@ -217,7 +217,6 @@
/* TODO: without this the global trx id injection logic will fail on recently \
opened lazy connections */ if (conn_data && *conn_data) {
(*conn_data)->initialized = TRUE;
- (*conn_data)->connection_opened = TRUE;
}
#endif
#ifdef BUFFERED_COMMANDS
@@ -367,7 +366,6 @@
(llist_dtor_func_t) mysqlnd_ms_commands_list_dtor, conn->persistent);
#ifndef MYSQLND_HAS_INJECTION_FEATURE
mysqlnd_ms_init_connection_global_trx(&(*conn_data)->global_trx, global_trx, \
is_master, conn->persistent TSRMLS_CC);
- (*conn_data)->connection_opened = (lazy_connections) ? FALSE : TRUE;
#endif
}
}
@@ -734,7 +732,6 @@
(*conn_data)->cred.mysql_flags = mysql_flags;
#ifndef MYSQLND_HAS_INJECTION_FEATURE
mysqlnd_ms_init_trx_to_null(&(*conn_data)->global_trx TSRMLS_CC);
- (*conn_data)->connection_opened = FALSE;
#endif
(*conn_data)->initialized = TRUE;
@@ -926,7 +923,7 @@
MS_LOAD_CONN_DATA(conn_data, connection);
#ifndef MYSQLND_HAS_INJECTION_FEATURE
- if (CONN_DATA_TRX_SET(conn_data) && CONN_DATA_TRY_TRX_INJECTION(conn_data))
+ if (CONN_DATA_TRX_SET(conn_data) && CONN_DATA_TRY_TRX_INJECTION(conn_data, \
connection)) {
if (FALSE == (*conn_data)->stgy.in_transaction) {
/* autocommit mode */
@@ -1689,7 +1686,7 @@
#ifndef MYSQLND_HAS_INJECTION_FEATURE
if (((TRUE == (*conn_data)->stgy.in_transaction) && mode) &&
- CONN_DATA_TRY_TRX_INJECTION(conn_data))
+ CONN_DATA_TRY_TRX_INJECTION(conn_data, proxy_conn))
{
/*
Implicit commit when autocommit(false) ..query().. autocommit(true).
@@ -1766,7 +1763,7 @@
#ifndef MYSQLND_HAS_INJECTION_FEATURE
if ((conn_data && *conn_data && TRUE == commit) &&
((TRUE == (*conn_data)->stgy.in_transaction)) &&
- CONN_DATA_TRY_TRX_INJECTION(conn_data))
+ CONN_DATA_TRY_TRX_INJECTION(conn_data, conn))
{
MS_TRX_INJECT(ret, conn, conn_data);
MYSQLND_MS_INC_STATISTIC((PASS == ret) ? MS_STAT_GTID_COMMIT_SUCCESS : \
MS_STAT_GTID_COMMIT_FAILURE); @@ -1990,7 +1987,7 @@
connection = s->data->conn;
DBG_INF_FMT("conn="MYSQLND_LLU_SPEC, connection->thread_id);
- if (CONN_DATA_TRY_TRX_INJECTION(conn_data) &&
+ if (CONN_DATA_TRY_TRX_INJECTION(conn_data, connection) &&
(FALSE == (*conn_data)->stgy.in_transaction))
{
/* autocommit mode */
Modified: pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h
===================================================================
--- pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h 2011-11-29 16:20:18 UTC (rev \
320166)
+++ pecl/mysqlnd_ms/trunk/mysqlnd_ms_enum_n_def.h 2011-11-29 16:21:33 UTC (rev \
320167) @@ -421,7 +421,6 @@
zend_bool multi_statement_user_enabled;
zend_bool multi_statement_gtx_enabled;
} global_trx;
- zend_bool connection_opened;
#endif
} MYSQLND_MS_CONN_DATA;
--
PECL CVS Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic