Commit 84e32eff authored by Sergei Petrunia's avatar Sergei Petrunia

MDEV-28437: Assertion `!eliminated' failed: Part #2

In SELECT_LEX::update_used_tables(),
do not run the loop setting tl->table->maybe_null
when tl is an eliminated table

(Rationale: First, with current table elimination, tl already
 has maybe_null=1. Second, one should not care what flags
 eliminated tables had)
parent 8dbfaa2a
...@@ -4219,6 +4219,8 @@ void SELECT_LEX::update_used_tables() ...@@ -4219,6 +4219,8 @@ void SELECT_LEX::update_used_tables()
while ((tl= ti++)) while ((tl= ti++))
{ {
TABLE_LIST *embedding= tl; TABLE_LIST *embedding= tl;
if (!is_eliminated_table(join->eliminated_tables, tl))
{
do do
{ {
bool maybe_null; bool maybe_null;
...@@ -4229,6 +4231,8 @@ void SELECT_LEX::update_used_tables() ...@@ -4229,6 +4231,8 @@ void SELECT_LEX::update_used_tables()
} }
} }
while ((embedding= embedding->embedding)); while ((embedding= embedding->embedding));
}
if (tl->on_expr && !is_eliminated_table(join->eliminated_tables, tl)) if (tl->on_expr && !is_eliminated_table(join->eliminated_tables, tl))
{ {
tl->on_expr->update_used_tables(); tl->on_expr->update_used_tables();
......
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