diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-01-24 14:00:33 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-01-24 14:00:33 +0200 |
commit | 9875d5c3e13fab929833a401f29eb355ab602da2 (patch) | |
tree | ed856a9237985c3b63c46a96e01d1780bf3e938b /sql/sp_rcontext.cc | |
parent | 6fe953cb71241fd5ce583713deb854b4f6170f8c (diff) | |
parent | 62740e02c8805da3bc0e04cef6933635d339dc91 (diff) | |
download | mariadb-git-9875d5c3e13fab929833a401f29eb355ab602da2.tar.gz |
Merge bb-10.2-ext into 10.3
Diffstat (limited to 'sql/sp_rcontext.cc')
-rw-r--r-- | sql/sp_rcontext.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/sp_rcontext.cc b/sql/sp_rcontext.cc index 740941937e8..3a2348b8cc5 100644 --- a/sql/sp_rcontext.cc +++ b/sql/sp_rcontext.cc @@ -67,6 +67,7 @@ sp_rcontext *sp_rcontext::create(THD *thd, Field *return_value_fld, Row_definition_list &field_def_lst) { + SELECT_LEX *save_current_select; sp_rcontext *ctx= new (thd->mem_root) sp_rcontext(owner, root_parsing_ctx, return_value_fld, @@ -74,14 +75,19 @@ sp_rcontext *sp_rcontext::create(THD *thd, if (!ctx) return NULL; + /* Reset current_select as it's checked in Item_ident::Item_ident */ + save_current_select= thd->lex->current_select; + thd->lex->current_select= 0; + if (ctx->alloc_arrays(thd) || ctx->init_var_table(thd, field_def_lst) || ctx->init_var_items(thd, field_def_lst)) { delete ctx; - return NULL; + ctx= 0; } + thd->lex->current_select= save_current_select; return ctx; } |