summaryrefslogtreecommitdiff
path: root/libmysql/libmysql.c
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-05-07 09:12:48 +0200
committerSergei Golubchik <serg@mariadb.org>2016-05-07 09:12:48 +0200
commitaf93c02510232d5add0393ad9e9c2bca623bd816 (patch)
treecf5036cd741f6bd90a404b2c92096599d845b50d /libmysql/libmysql.c
parent5534d8143004022a8431068b1e1f53bd8d7046e9 (diff)
downloadmariadb-git-af93c02510232d5add0393ad9e9c2bca623bd816.tar.gz
MDEV-10034 Embedded server crashes on CREATE TABLE in PS protocol
don't use MY_THREAD_SPECIFIC on the client side in embedded: 1. server memory accounting does not track client side memory 2. in not embedded builds, this still *might* be useful for plugins (handlersocket, connect, etc)
Diffstat (limited to 'libmysql/libmysql.c')
-rw-r--r--libmysql/libmysql.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index d5d673bb895..190652c1d61 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -1510,9 +1510,8 @@ my_bool cli_read_prepare_result(MYSQL *mysql, MYSQL_STMT *stmt)
*/
#ifdef EMBEDDED_LIBRARY
-#define STMT_INIT_PREALLOC(S) 0
-#else
-#define STMT_INIT_PREALLOC(S) S
+#undef MY_THREAD_SPECIFIC
+#define MY_THREAD_SPECIFIC 0
#endif /*EMBEDDED_LIBRARY*/
MYSQL_STMT * STDCALL
@@ -1533,10 +1532,8 @@ mysql_stmt_init(MYSQL *mysql)
DBUG_RETURN(NULL);
}
- init_alloc_root(&stmt->mem_root, 2048, STMT_INIT_PREALLOC(2048),
- MYF(MY_THREAD_SPECIFIC));
- init_alloc_root(&stmt->result.alloc, 4096, STMT_INIT_PREALLOC(4096),
- MYF(MY_THREAD_SPECIFIC));
+ init_alloc_root(&stmt->mem_root, 2048,2048, MYF(MY_THREAD_SPECIFIC));
+ init_alloc_root(&stmt->result.alloc, 4096, 4096, MYF(MY_THREAD_SPECIFIC));
stmt->result.alloc.min_malloc= sizeof(MYSQL_ROWS);
mysql->stmts= list_add(mysql->stmts, &stmt->list);
stmt->list.data= stmt;
@@ -1553,8 +1550,6 @@ mysql_stmt_init(MYSQL *mysql)
DBUG_RETURN(stmt);
}
-#undef STMT_INIT_PREALLOC
-
/*
Prepare server side statement with query.