1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-06 19:08:06 +03:00

MDEV-5740: Assertion `!derived->first_select()->exclude_from_table_unique_test || derived->outer_select()-> exclude_from_table_unique_test' failed on 2nd execution of PS with derived_merge

Do not check tables of executed units.
Debug info about stages of derived tables execution added.
This commit is contained in:
unknown
2014-03-07 13:57:07 +02:00
parent 1f2ef57403
commit 321ff25f3d
5 changed files with 112 additions and 20 deletions

View File

@@ -1735,6 +1735,17 @@ retry:
DBUG_PRINT("info", ("real table: %s.%s", d_name, t_name));
for (TABLE_LIST *tl= table_list;;)
{
if (tl &&
tl->select_lex && tl->select_lex->master_unit() &&
tl->select_lex->master_unit()->executed)
{
/*
There is no sense to check tables of already executed parts
of the query
*/
tl= tl->next_global;
continue;
}
if (((! (res= find_table_in_global_list(tl, d_name, t_name))) &&
(! (res= mysql_lock_have_duplicate(thd, table, tl)))) ||
((!res->table || res->table != table->table) &&