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);
}
/* 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
}
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) {
#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;
}
/* }}} */
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;
}
/* }}} */
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);
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
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;