summaryrefslogtreecommitdiff
path: root/sql/sql_prepare.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2014-10-22 19:47:05 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2014-10-22 19:58:50 +0200
commitaf93dc48cffdc9a071e3ec6e1fe51f1d7d06686b (patch)
tree938d7fa8cbefa67161d50172ff962a842904d71c /sql/sql_prepare.cc
parentc3db4459561bc491582bef6bea7b83e9fe464a10 (diff)
downloadmariadb-git-bb-set-statement.tar.gz
MDEV-5231: Per query variables from Percona Server (rewritten)bb-set-statement
Diffstat (limited to 'sql/sql_prepare.cc')
-rw-r--r--sql/sql_prepare.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index b1765cdda04..5c67a4c45a7 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -3299,7 +3299,7 @@ void Prepared_statement::cleanup_stmt()
{
DBUG_ENTER("Prepared_statement::cleanup_stmt");
DBUG_PRINT("enter",("stmt: 0x%lx", (long) this));
-
+ thd->restore_set_statement_var();
cleanup_items(free_list);
thd->cleanup_after_query();
thd->rollback_item_tree_changes();
@@ -3619,7 +3619,9 @@ Prepared_statement::execute_loop(String *expanded_query,
Reprepare_observer reprepare_observer;
bool error;
int reprepare_attempt= 0;
-
+#ifndef DBUG_OFF
+ Item *free_list_state= thd->free_list;
+#endif
thd->select_number= select_number_after_prepare;
/* Check if we got an error when sending long data */
if (state == Query_arena::STMT_ERROR)
@@ -3646,7 +3648,7 @@ reexecute:
allocated items when cleaning up after validation of the prepared
statement.
*/
- DBUG_ASSERT(thd->free_list == NULL);
+ DBUG_ASSERT(thd->free_list == free_list_state);
/*
Install the metadata observer. If some metadata version is