You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#29402481 INCORRECT RESULT FROM OUTER JOIN QUERIES
Results from outer joined tables may contain a non-NULL row where a NULL
extended row is expected.
A regression introduced as part of patch for bug#27808758, eliminated
predicate terms from join-conditions as the predicate was incorrectly
considered to be 'covered' by another (equal) predicate term
joining preceding tables. However, we failed to considder
that rows from the preceeding tables could have been NULL-complemented
if the preceeding join was an outer join. Thus, by removing the 'duplicated'
predicate terms, we got false equality matches on the NULL-complimented
rows.
This patch adds the missing code for calculating which previous tables
which are possibly NULL-extended to reduce_cond_for_table(). Based on
the NULL-extended-abilities of the table, we skip the predicate term
elimination logic (test_if_ref()) if the resulting row could have been
NULL extended at the time of evaluating the predicate.
Reviewed by : Roy Lyseng <[email protected]>
(cherry picked from commit 385720505f45833324ec8da8e6cf99ff7f2f3feb)
0 commit comments