diff --git a/mysql-test/main/cte_recursive.result b/mysql-test/main/cte_recursive.result index 8de8a5710527b..0b7b216f1fe80 100644 --- a/mysql-test/main/cte_recursive.result +++ b/mysql-test/main/cte_recursive.result @@ -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 diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index c8a335497e960..107ac31cd4e8d 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -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(); }