diff options
author | konstantin@mysql.com <> | 2004-08-24 23:07:08 +0400 |
---|---|---|
committer | konstantin@mysql.com <> | 2004-08-24 23:07:08 +0400 |
commit | 522a27069f555cc2332c753560a7119c623d6639 (patch) | |
tree | 27afa0ffb4411fa21754ed6f1be2820f7eb7784f /sql/sql_prepare.cc | |
parent | 06affe9b5bde6922bc0a2141df9d4f704f8c437c (diff) | |
parent | ae18dc3ec82e607f041878c4760ba7526999ae86 (diff) | |
download | mariadb-git-522a27069f555cc2332c753560a7119c623d6639.tar.gz |
Merge: manual resolve
Diffstat (limited to 'sql/sql_prepare.cc')
-rw-r--r-- | sql/sql_prepare.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index 94b6ab103da..baff7bd604d 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -1630,7 +1630,8 @@ int mysql_stmt_prepare(THD *thd, char *packet, uint packet_length, static void reset_stmt_for_execute(Prepared_statement *stmt) { THD *thd= stmt->thd; - SELECT_LEX *sl= stmt->lex->all_selects_list; + LEX *lex= stmt->lex; + SELECT_LEX *sl= lex->all_selects_list; for (; sl; sl= sl->next_select_in_list()) { @@ -1678,7 +1679,9 @@ static void reset_stmt_for_execute(Prepared_statement *stmt) unit->reinit_exec_mechanism(); } } - stmt->lex->current_select= &stmt->lex->select_lex; + lex->current_select= &lex->select_lex; + if (lex->result) + lex->result->cleanup(); } @@ -2053,6 +2056,7 @@ void Prepared_statement::setup_set_params() Prepared_statement::~Prepared_statement() { free_items(free_list); + delete lex->result; } |