summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorGalina Shalygina <galina.shalygina@mariadb.com>2017-12-19 11:49:40 +0200
committerGalina Shalygina <galina.shalygina@mariadb.com>2017-12-19 11:49:40 +0200
commit079c3599711b9cbd3ce323f32cf99693cc3d5e3b (patch)
treec44fcc44f549a8112ca70dfe1f25d82ba465d075 /sql/sql_parse.cc
parent06f0b23a78ab15b6f3d4465e77ac1bdc747524d4 (diff)
downloadmariadb-git-079c3599711b9cbd3ce323f32cf99693cc3d5e3b.tar.gz
MDEV-14629: failing assertion when a user-defined variable is defined by the recursive CTEbb-10.2-mdev14629
During the user-defined variable defined by the recursive CTE handling procedure check_dependencies_in_with_clauses that checks dependencies between the tables that are defined in the CTE and find recursive definitions wasn't called.
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index d964831a098..7a4530082eb 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -4818,6 +4818,9 @@ end_with_restore_list:
{
List<set_var_base> *lex_var_list= &lex->var_list;
+ if (check_dependencies_in_with_clauses(thd->lex->with_clauses_list))
+ goto error;
+
if ((check_table_access(thd, SELECT_ACL, all_tables, FALSE, UINT_MAX, FALSE)
|| open_and_lock_tables(thd, all_tables, TRUE, 0)))
goto error;