summaryrefslogtreecommitdiff
path: root/sql-common
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-04-18 21:54:13 +0200
committerSergei Golubchik <sergii@pisem.net>2013-04-18 21:54:13 +0200
commitf9dcd5b540ca0bdf7dfac56a87c9c9153d4589d3 (patch)
tree33413cf05738a3cd21014bd50d9dae5b3a879789 /sql-common
parenta1cd28e2e54d32dc70280875bab7f0d35e9370c4 (diff)
parent71c211d48bafaf3e7fe1283b7a01b312ca8c8db1 (diff)
downloadmariadb-git-f9dcd5b540ca0bdf7dfac56a87c9c9153d4589d3.tar.gz
10.0-base merge
Diffstat (limited to 'sql-common')
-rw-r--r--sql-common/client.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index a19bae35b78..920f2de0ca0 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -919,7 +919,9 @@ void free_old_query(MYSQL *mysql)
if (mysql->fields)
free_root(&mysql->field_alloc,MYF(0));
/* Assume rowlength < 8192 */
- init_alloc_root(&mysql->field_alloc, 8192, 0, MYF(MY_THREAD_SPECIFIC));
+ init_alloc_root(&mysql->field_alloc, 8192, 0,
+ MYF(mysql->options.use_thread_specific_memory ?
+ MY_THREAD_SPECIFIC : 0));
mysql->fields= 0;
mysql->field_count= 0; /* For API */
mysql->warning_count= 0;
@@ -1611,7 +1613,9 @@ MYSQL_DATA *cli_read_rows(MYSQL *mysql,MYSQL_FIELD *mysql_fields,
DBUG_RETURN(0);
}
/* Assume rowlength < 8192 */
- init_alloc_root(&result->alloc, 8192, 0, MYF(MY_THREAD_SPECIFIC));
+ init_alloc_root(&result->alloc, 8192, 0,
+ MYF(mysql->options.use_thread_specific_memory ?
+ MY_THREAD_SPECIFIC : 0));
result->alloc.min_malloc=sizeof(MYSQL_ROWS);
prev_ptr= &result->data;
result->rows=0;
@@ -4254,6 +4258,9 @@ mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg)
case MYSQL_OPT_RECONNECT:
mysql->reconnect= *(my_bool *) arg;
break;
+ case MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY:
+ mysql->options.use_thread_specific_memory= *(my_bool *) arg;
+ break;
case MYSQL_OPT_SSL_VERIFY_SERVER_CERT:
if (*(my_bool*) arg)
mysql->options.client_flag|= CLIENT_SSL_VERIFY_SERVER_CERT;