diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2018-01-26 16:59:53 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2018-02-01 09:51:47 +0100 |
commit | 80d3eee072025f34984e474ea160651eac9e11e5 (patch) | |
tree | 71339d70b7ff7e338c19543e2939a1d0dde1a982 /sql/sql_lex.cc | |
parent | ad0013c8e2b01acf2128580599aa6d54bf234b2d (diff) | |
download | mariadb-git-80d3eee072025f34984e474ea160651eac9e11e5.tar.gz |
MDEV-14857: problem with 10.2.11 server crashing when executing stored procedure
Counter for select numbering made stored with the statement (before was global)
So now it does have always accurate value which does not depend on
interruption of statement prepare by errors like lack of table in
a view definition.
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 63ab6b5d046..5b8327d6f59 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -657,6 +657,7 @@ void lex_start(THD *thd) { LEX *lex= thd->lex; DBUG_ENTER("lex_start"); + DBUG_PRINT("info", ("Lex %p stmt_lex: %p", thd->lex, thd->stmt_lex)); lex->thd= lex->unit.thd= thd; @@ -668,6 +669,7 @@ void lex_start(THD *thd) /* 'parent_lex' is used in init_query() so it must be before it. */ lex->select_lex.parent_lex= lex; lex->select_lex.init_query(); + lex->current_select_number= 1; lex->value_list.empty(); lex->update_list.empty(); lex->set_var_list.empty(); |