summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2019-04-16 23:02:54 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2019-04-16 23:21:04 +0200
commitf202f3dfe638aabfb0615a4685c05c31d9137481 (patch)
tree25076525fb61b5d75227f44a2ea2543f1721ca28 /sql
parent653a56fd956f472e17522ea593696a64367472ac (diff)
downloadmariadb-git-f202f3dfe638aabfb0615a4685c05c31d9137481.tar.gz
MDEV-19263: Server crashes in mysql_handle_single_derived upon 2nd execution of PS
Fix case of prelocking placeholder
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_derived.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index 55b94735f90..102999c42d7 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -183,7 +183,10 @@ mysql_handle_single_derived(LEX *lex, TABLE_LIST *derived, uint phases)
if (!lex->derived_tables)
DBUG_RETURN(FALSE);
- derived->select_lex->changed_elements|= TOUCHED_SEL_DERIVED;
+ if (derived->select_lex)
+ derived->select_lex->changed_elements|= TOUCHED_SEL_DERIVED;
+ else
+ DBUG_ASSERT(derived->prelocking_placeholder);
lex->thd->derived_tables_processing= TRUE;
for (uint phase= 0; phase < DT_PHASES; phase++)