mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-31214 Recursive CTE execution is interrupted without errors or warnings
This commit is contained in:
@ -1214,6 +1214,8 @@ generation name
|
|||||||
2 Grandma Ann
|
2 Grandma Ann
|
||||||
2 Grandma Sally
|
2 Grandma Sally
|
||||||
2 Grandpa Ben
|
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
|
# query with recursive tables using key access
|
||||||
alter table folks add primary key (id);
|
alter table folks add primary key (id);
|
||||||
explain
|
explain
|
||||||
@ -2592,6 +2594,8 @@ select * from applied_modules;
|
|||||||
m
|
m
|
||||||
m1
|
m1
|
||||||
m2
|
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;
|
drop table value_nodes, module_nodes, module_arguments, module_results;
|
||||||
#
|
#
|
||||||
# mdev-12519: recursive references in subqueries
|
# mdev-12519: recursive references in subqueries
|
||||||
|
@ -1142,7 +1142,14 @@ bool TABLE_LIST::fill_recursive(THD *thd)
|
|||||||
while (!rc && !with->all_are_stabilized())
|
while (!rc && !with->all_are_stabilized())
|
||||||
{
|
{
|
||||||
if (with->level > thd->variables.max_recursive_iterations)
|
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;
|
break;
|
||||||
|
}
|
||||||
with->prepare_for_next_iteration();
|
with->prepare_for_next_iteration();
|
||||||
rc= unit->exec_recursive();
|
rc= unit->exec_recursive();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user