summaryrefslogtreecommitdiff
path: root/sql-common
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2013-04-17 23:37:06 +0300
committerMichael Widenius <monty@askmonty.org>2013-04-17 23:37:06 +0300
commit8b714e507f9e2c216ad043a10db99ea558e9285b (patch)
treec73d5355619001021e0426fa1a955bf68f90fc5d /sql-common
parent8e526985800678de20356cece1183f49f69c26f9 (diff)
downloadmariadb-git-8b714e507f9e2c216ad043a10db99ea558e9285b.tar.gz
Changed the client library to only mark memory as THREAD_SPECIFIC if one has called
mysql_options() with MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY include/mysql.h: Added MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY include/mysql.h.pp: Updated file sql-common/client.c: Marked client memory as THREAD_SPECIFIC sql/event_db_repository.cc: Fixed compiler warning sql/slave.cc: Marked client memory as THREAD_SPECIFIC storage/federatedx/federatedx_io_mysql.cc: Marked client memory as THREAD_SPECIFIC storage/federatedx/ha_federatedx.cc: Marked client memory as THREAD_SPECIFIC storage/sphinx/ha_sphinx.cc: Marked client memory as THREAD_SPECIFIC
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 2d83f2ef215..507917b0722 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -892,7 +892,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;
@@ -1578,7 +1580,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;
@@ -4206,6 +4210,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;