summaryrefslogtreecommitdiff
path: root/sql/sp_rcontext.cc
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-11-14 16:31:10 +0400
committerAlexander Barkov <bar@mariadb.org>2017-11-14 16:31:10 +0400
commit765452dbef57b71962950a9001ce21b64e1aba94 (patch)
treebb6eabd715519b27376171ea25ecfabd9cfc2863 /sql/sp_rcontext.cc
parent071aece907e86ac28e3c4b7869ccebea6e974ed0 (diff)
downloadmariadb-git-765452dbef57b71962950a9001ce21b64e1aba94.tar.gz
MDEV-14388 Server crashes in handle_select / val_uint in ORACLE mode
Diffstat (limited to 'sql/sp_rcontext.cc')
-rw-r--r--sql/sp_rcontext.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sp_rcontext.cc b/sql/sp_rcontext.cc
index ee13eac6a1c..b5aacb1ac0f 100644
--- a/sql/sp_rcontext.cc
+++ b/sql/sp_rcontext.cc
@@ -802,7 +802,13 @@ int sp_cursor::open_view_structure_only(THD *thd)
if (!(thd->lex->limit_rows_examined= new (thd->mem_root) Item_uint(thd, 0)))
return -1;
thd->no_errors= true; // Suppress ER_QUERY_EXCEEDED_ROWS_EXAMINED_LIMIT
+ DBUG_ASSERT(!thd->killed);
res= open(thd);
+ /*
+ The query possibly exited on LIMIT ROWS EXAMINED and set thd->killed.
+ Reset it now.
+ */
+ thd->reset_killed();
thd->no_errors= thd_no_errors_save;
thd->lex->limit_rows_examined= limit_rows_examined;
return res;