Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
11.4
-
Unexpected results
-
Possible wrong results when split materialized optimization is used with nullable join conditions.
-
Q3/2025 Maintenance
Description
During the optimization phase, when determining whether or not to materialize a derived table
all at once or in groups (split materialization), all key equalities that reference the derived table have their cond Items pushed into JOIN::spl_opt_info->inj_cond_list.
From there they are filtered (tables in join prefix) and injected into the JOIN conditions (in JOIN::inject_best_splitting_cond()), where they might (they are in the test case) be removed because they are involved in the grouping operation and they aren't needed.
If they aren't removed, then we might have a non-null safe equality in our join conditions where we should have a null safe one.
Attachments
Issue Links
- relates to
-
MDEV-36948 DELETE derived table query
-
- Needs Feedback
-
-
MDEV-37057 Wrong result with LATERAL DERIVED
-
- Closed
-
-
MDEV-37236 Split-Materialized doesn't use =const conditions for ref access.
-
- Open
-