Bug #110496 Join order assertion error
Submitted: 24 Mar 2023 14:58 Modified: 27 Mar 2023 6:35
Reporter: Pedro Ferreira Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Optimizer Severity:S6 (Debug Builds)
Version:8.0.32 OS:Ubuntu (22.04)
Assigned to: CPU Architecture:x86 (x86_64)
Tags: join

[24 Mar 2023 14:58] Pedro Ferreira
Description:
Run these statements:

CREATE TABLE t1 (c0 INT);
CREATE TABLE t2 (c0 DECIMAL(19,12), INDEX i0(c0));
SELECT 1 FROM t1 LEFT JOIN (SELECT 1 FROM t2 RIGHT JOIN t2 y ON t2.c0 = 18036771) x(x) ON TRUE;

The SELECT query will trigger an assertion error at sql/sql_planner.cc:2917

assert((remaining_tables_after != 0) ||
       ((cur_embedding_map == 0) &&
        (join->positions[idx].dups_producing_tables == 0) &&
        (join->deps_of_remaining_lateral_derived_tables == 0)));

The compilation parameters are the same as issue 108148:

-DWITH_DEBUG=1 -DWITH_ASAN=ON -DWITH_UBSAN=ON and boost library version 1.77

How to repeat:
Run the statements above.
[27 Mar 2023 6:35] MySQL Verification Team
Hello Pedro Ferreira,

Thank you for the report and feedback.
Observed that 8.0.32 debug build is affected.

regards,
Umesh