Browse Source

Sync with bzr

PECL
Andrey Hristov 18 years ago
parent
commit
136a55fcd9
  1. 6
      ext/mysql/php_mysql.c
  2. 6
      ext/mysqli/mysqli.c
  3. 1
      ext/mysqlnd/mysqlnd.c
  4. 2
      ext/mysqlnd/mysqlnd_palloc.c
  5. 2
      ext/mysqlnd/mysqlnd_ps.c
  6. 2
      ext/mysqlnd/mysqlnd_wireprotocol.c

6
ext/mysql/php_mysql.c

@ -687,6 +687,8 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
client_flags ^= CLIENT_LOCAL_FILES;
}
client_flags &= ~CLIENT_MULTI_STATEMENTS; /* don't allow multi_queries via connect parameter */
hashed_details_length = spprintf(&hashed_details, 0, "mysql_%s_%s_%s_%ld", SAFE_STRING(host_and_port), SAFE_STRING(user), SAFE_STRING(passwd), client_flags);
}
@ -738,7 +740,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
/* create the link */
mysql = (php_mysql_conn *) malloc(sizeof(php_mysql_conn));
mysql->active_result_id = 0;
mysql->multi_query = 1;
mysql->multi_query = client_flags & CLIENT_MULTI_STATEMENTS? 1:0;
#ifndef MYSQL_USE_MYSQLND
mysql->conn = mysql_init(NULL);
#else
@ -786,7 +788,7 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
}
mysql = (php_mysql_conn *) le->ptr;
mysql->active_result_id = 0;
mysql->multi_query = 1;
mysql->multi_query = client_flags & CLIENT_MULTI_STATEMENTS? 1:0;
/* ensure that the link did not die */
if (mysql_ping(mysql->conn)) {
if (mysql_errno(mysql->conn) == 2006) {

6
ext/mysqli/mysqli.c

@ -893,6 +893,12 @@ PHP_MINIT_FUNCTION(mysqli)
#endif
#endif
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_CS | CONST_PERSISTENT);
#ifdef SERVER_QUERY_WAS_SLOW
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_CS | CONST_PERSISTENT);
#endif
return SUCCESS;
}
/* }}} */

1
ext/mysqlnd/mysqlnd.c

@ -467,7 +467,6 @@ PHPAPI void _mysqlnd_end_psession(MYSQLND *conn TSRMLS_DC)
DBG_ENTER("_mysqlnd_end_psession");
/* The thd zval cache is always freed on request shutdown, so this has happened already */
mysqlnd_palloc_free_thd_cache_reference(&conn->zval_cache);
conn->zval_cache = NULL;
DBG_VOID_RETURN;
}
/* }}} */

2
ext/mysqlnd/mysqlnd_palloc.c

@ -172,7 +172,7 @@ MYSQLND_THD_ZVAL_PCACHE* _mysqlnd_palloc_get_thd_cache_reference(MYSQLND_THD_ZVA
if (cache) {
++cache->references;
DBG_INF_FMT("cache=%p new_refc=%d gc_list.canary1=%p gc_list.canary2=%p",
*cache, cache->references, cache->gc_list.canary1, cache->gc_list.canary2);
cache, cache->references, cache->gc_list.canary1, cache->gc_list.canary2);
mysqlnd_palloc_get_cache_reference(cache->parent);
}
DBG_RETURN(cache);

2
ext/mysqlnd/mysqlnd_ps.c

@ -582,7 +582,7 @@ MYSQLND_METHOD(mysqlnd_stmt, execute)(MYSQLND_STMT * const stmt TSRMLS_DC)
SET_ERROR_AFF_ROWS(stmt);
SET_ERROR_AFF_ROWS(stmt->conn);
if (stmt->state > MYSQLND_STMT_PREPARED && stmt->field_count) {
if (stmt->result && stmt->state > MYSQLND_STMT_PREPARED && stmt->field_count) {
/*
We don need to copy the data from the buffers which we will clean.
Because it has already been copied. See

2
ext/mysqlnd/mysqlnd_wireprotocol.c

@ -690,8 +690,6 @@ size_t php_mysqlnd_auth_write(void *_packet, MYSQLND *conn TSRMLS_DC)
packet->client_flags ^= CLIENT_LOCAL_FILES;
}
/* don't allow multi_queries via connect parameter */
packet->client_flags ^= CLIENT_MULTI_STATEMENTS;
int4store(p, packet->client_flags);
p+= 4;

Loading…
Cancel
Save