1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-35318 Assertion `tl->jtbm_subselect' failed... - PART 2

After the fix in the previous commit, we should never end up in a
situation where select_lex->first_cond_optimization=false (i.e, "it's done")
but select_lex->leaf_tables_saved==false ("not done").

So, in setup_tables(), revert the the condition added in the fix for
MDEV-25008. Add an assert instead.
This commit is contained in:
Sergei Petrunia
2025-02-03 14:58:58 +02:00
parent 0e21ff8ca4
commit 14a80f0929

View File

@@ -8241,7 +8241,7 @@ bool setup_tables(THD *thd, Name_resolution_context *context,
0);
SELECT_LEX *select_lex= select_insert ? thd->lex->first_select_lex() :
thd->lex->current_select;
if (select_lex->first_cond_optimization || !select_lex->leaf_tables_saved)
if (select_lex->first_cond_optimization)
{
leaves.empty();
if (select_lex->prep_leaf_list_state != SELECT_LEX::SAVED)
@@ -8305,6 +8305,7 @@ bool setup_tables(THD *thd, Name_resolution_context *context,
}
else
{
DBUG_ASSERT(select_lex->leaf_tables_saved);
List_iterator_fast <TABLE_LIST> ti(select_lex->leaf_tables_exec);
select_lex->leaf_tables.empty();
while ((table_list= ti++))