mirror of
https://github.com/apache/impala.git
synced 2026-01-08 03:02:48 -05:00
This patch includes several changes to predicate assignment and propagation. First, we now only register as outer joined those tuples of TableRefs directly participating in an outer join. In particular, materialized tuples referenced inside an outer-joined InlineView are not registered as outer joined - only the InlineView's tuple is registered. The other major change is that we detect when it is correct to propagate predicates to scan nodes participating (directly or indirectly) in an outer join by testing whether a predicate can become true if a tuple is NULL. If that is the case, then it is generally not safe to propagate a predicate because it would change the final result of the outer join. Change-Id: Ia135ab15ec8c6ef756a908f797f96812d28c84c1 Reviewed-on: http://gerrit.ent.cloudera.com:8080/1567 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: jenkins Reviewed-on: http://gerrit.ent.cloudera.com:8080/1606