Commit 5c81c50f authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-31214 Recursive CTE execution is interrupted without errors or warnings

parent 22e5a5ff
......@@ -1214,6 +1214,8 @@ generation name
2 Grandma Ann
2 Grandma Sally
2 Grandpa Ben
Warnings:
Warning 1931 Query execution was interrupted. The query exceeded max_recursive_iterations = 1. The query result may be incomplete
# query with recursive tables using key access
alter table folks add primary key (id);
explain
......@@ -2592,6 +2594,8 @@ select * from applied_modules;
m
m1
m2
Warnings:
Warning 1931 Query execution was interrupted. The query exceeded max_recursive_iterations = 2. The query result may be incomplete
drop table value_nodes, module_nodes, module_arguments, module_results;
#
# mdev-12519: recursive references in subqueries
......
......@@ -1142,7 +1142,14 @@ bool TABLE_LIST::fill_recursive(THD *thd)
while (!rc && !with->all_are_stabilized())
{
if (with->level > thd->variables.max_recursive_iterations)
{
push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
ER_QUERY_RESULT_INCOMPLETE,
ER_THD(thd, ER_QUERY_RESULT_INCOMPLETE),
"max_recursive_iterations =",
(ulonglong)thd->variables.max_recursive_iterations);
break;
}
with->prepare_for_next_iteration();
rc= unit->exec_recursive();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment