andrey Tue, 31 May 2011 20:42:44 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=311676
Log:
reuse code
Changed paths:
U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
U php/php-src/branches/PHP_5_4/ext/mysqlnd/mysqlnd.c
U php/php-src/trunk/ext/mysqlnd/mysqlnd.c
Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2011-05-31 19:04:52 UTC
(rev 311675)
+++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2011-05-31 20:42:44 UTC
(rev 311676)
@@ -896,25 +896,18 @@
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn, query)(MYSQLND * conn, const char * query,
unsigned int query_len TSRMLS_DC)
{
- enum_func_status ret;
+ enum_func_status ret = FAIL;
DBG_ENTER("mysqlnd_conn::query");
DBG_INF_FMT("conn=%llu query=%s", conn->thread_id, query);
- if (PASS != conn->m->simple_command(conn, COM_QUERY, query, query_len,
-
PROT_LAST /* we will handle the OK packet*/,
-
FALSE, FALSE TSRMLS_CC)) {
- DBG_RETURN(FAIL);
+ if (PASS == conn->m->send_query(conn, query, query_len TSRMLS_CC) &&
+ PASS == conn->m->reap_query(conn TSRMLS_CC))
+ {
+ ret = PASS;
+ if (conn->last_query_type == QUERY_UPSERT &&
conn->upsert_status.affected_rows) {
+ MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats,
STAT_ROWS_AFFECTED_NORMAL, conn->upsert_status.affected_rows);
+ }
}
- CONN_SET_STATE(conn, CONN_QUERY_SENT);
- /*
- Here read the result set. We don't do it in simple_command because it
need
- information from the ok packet. We will fetch it ourselves.
- */
- ret = conn->m->query_read_result_set_header(conn, NULL TSRMLS_CC);
- if (ret == PASS && conn->last_query_type == QUERY_UPSERT &&
conn->upsert_status.affected_rows) {
- MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats,
STAT_ROWS_AFFECTED_NORMAL, conn->upsert_status.affected_rows);
- }
-
DBG_RETURN(ret);
}
/* }}} */
@@ -931,7 +924,9 @@
ret = conn->m->simple_command(conn, COM_QUERY, query, query_len,
PROT_LAST /*
we will handle the OK packet*/,
FALSE, FALSE
TSRMLS_CC);
- CONN_SET_STATE(conn, CONN_QUERY_SENT);
+ if (PASS == ret) {
+ CONN_SET_STATE(conn, CONN_QUERY_SENT);
+ }
DBG_RETURN(ret);
}
/* }}} */
@@ -950,6 +945,10 @@
DBG_ERR_FMT("Connection not opened, clear or has been closed.
State=%u", state);
DBG_RETURN(FAIL);
}
+ /*
+ Here read the result set. We don't do it in simple_command because it
need
+ information from the ok packet. We will fetch it ourselves.
+ */
DBG_RETURN(conn->m->query_read_result_set_header(conn, NULL TSRMLS_CC));
}
/* }}} */
Modified: php/php-src/branches/PHP_5_4/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/mysqlnd/mysqlnd.c 2011-05-31 19:04:52 UTC
(rev 311675)
+++ php/php-src/branches/PHP_5_4/ext/mysqlnd/mysqlnd.c 2011-05-31 20:42:44 UTC
(rev 311676)
@@ -996,25 +996,18 @@
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn, query)(MYSQLND * conn, const char * query,
unsigned int query_len TSRMLS_DC)
{
- enum_func_status ret;
+ enum_func_status ret = FAIL;
DBG_ENTER("mysqlnd_conn::query");
DBG_INF_FMT("conn=%llu query=%s", conn->thread_id, query);
- if (PASS != conn->m->simple_command(conn, COM_QUERY, (zend_uchar *)
query, query_len,
-
PROT_LAST /* we will handle the OK packet*/,
-
FALSE, FALSE TSRMLS_CC)) {
- DBG_RETURN(FAIL);
+ if (PASS == conn->m->send_query(conn, query, query_len TSRMLS_CC) &&
+ PASS == conn->m->reap_query(conn TSRMLS_CC))
+ {
+ ret = PASS;
+ if (conn->last_query_type == QUERY_UPSERT &&
conn->upsert_status.affected_rows) {
+ MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats,
STAT_ROWS_AFFECTED_NORMAL, conn->upsert_status.affected_rows);
+ }
}
- CONN_SET_STATE(conn, CONN_QUERY_SENT);
- /*
- Here read the result set. We don't do it in simple_command because it
need
- information from the ok packet. We will fetch it ourselves.
- */
- ret = conn->m->query_read_result_set_header(conn, NULL TSRMLS_CC);
- if (ret == PASS && conn->last_query_type == QUERY_UPSERT &&
conn->upsert_status.affected_rows) {
- MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats,
STAT_ROWS_AFFECTED_NORMAL, conn->upsert_status.affected_rows);
- }
-
DBG_RETURN(ret);
}
/* }}} */
@@ -1031,7 +1024,9 @@
ret = conn->m->simple_command(conn, COM_QUERY, (zend_uchar *) query,
query_len,
PROT_LAST /*
we will handle the OK packet*/,
FALSE, FALSE
TSRMLS_CC);
- CONN_SET_STATE(conn, CONN_QUERY_SENT);
+ if (PASS == ret) {
+ CONN_SET_STATE(conn, CONN_QUERY_SENT);
+ }
DBG_RETURN(ret);
}
/* }}} */
Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===================================================================
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2011-05-31 19:04:52 UTC (rev
311675)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2011-05-31 20:42:44 UTC (rev
311676)
@@ -996,25 +996,18 @@
static enum_func_status
MYSQLND_METHOD(mysqlnd_conn, query)(MYSQLND * conn, const char * query,
unsigned int query_len TSRMLS_DC)
{
- enum_func_status ret;
+ enum_func_status ret = FAIL;
DBG_ENTER("mysqlnd_conn::query");
DBG_INF_FMT("conn=%llu query=%s", conn->thread_id, query);
- if (PASS != conn->m->simple_command(conn, COM_QUERY, (zend_uchar *)
query, query_len,
-
PROT_LAST /* we will handle the OK packet*/,
-
FALSE, FALSE TSRMLS_CC)) {
- DBG_RETURN(FAIL);
+ if (PASS == conn->m->send_query(conn, query, query_len TSRMLS_CC) &&
+ PASS == conn->m->reap_query(conn TSRMLS_CC))
+ {
+ ret = PASS;
+ if (conn->last_query_type == QUERY_UPSERT &&
conn->upsert_status.affected_rows) {
+ MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats,
STAT_ROWS_AFFECTED_NORMAL, conn->upsert_status.affected_rows);
+ }
}
- CONN_SET_STATE(conn, CONN_QUERY_SENT);
- /*
- Here read the result set. We don't do it in simple_command because it
need
- information from the ok packet. We will fetch it ourselves.
- */
- ret = conn->m->query_read_result_set_header(conn, NULL TSRMLS_CC);
- if (ret == PASS && conn->last_query_type == QUERY_UPSERT &&
conn->upsert_status.affected_rows) {
- MYSQLND_INC_CONN_STATISTIC_W_VALUE(conn->stats,
STAT_ROWS_AFFECTED_NORMAL, conn->upsert_status.affected_rows);
- }
-
DBG_RETURN(ret);
}
/* }}} */
@@ -1031,7 +1024,9 @@
ret = conn->m->simple_command(conn, COM_QUERY, (zend_uchar *) query,
query_len,
PROT_LAST /*
we will handle the OK packet*/,
FALSE, FALSE
TSRMLS_CC);
- CONN_SET_STATE(conn, CONN_QUERY_SENT);
+ if (PASS == ret) {
+ CONN_SET_STATE(conn, CONN_QUERY_SENT);
+ }
DBG_RETURN(ret);
}
/* }}} */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php