Browse Source

reuse code

pull/271/head
Andrey Hristov 15 years ago
parent
commit
ce816cb883
  1. 27
      ext/mysqlnd/mysqlnd.c

27
ext/mysqlnd/mysqlnd.c

@ -996,25 +996,18 @@ PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn,
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);
}
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);
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);
}
}
DBG_RETURN(ret);
}
/* }}} */
@ -1031,7 +1024,9 @@ MYSQLND_METHOD(mysqlnd_conn, send_query)(MYSQLND * conn, const char * query, uns
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);
}
/* }}} */

Loading…
Cancel
Save