mirror of
https://github.com/apache/impala.git
synced 2026-02-02 06:00:36 -05:00
Correct elimination of redundant join predicates relies on slot equivalences being enforced at the lowest possible plan node possibly by generating new predicates. Previously, we only enforced such equivalences at scan and aggregation nodes which is insufficient because join materialize a new tuple combination which may also require construction of new predicates to establish known slot equivalences. This patch generalies the existing helper function for constructing the minimum spanning tree to cover known slot equivalences for each equivalence class. The function is intended to be called during bottom-up plan generation at nodes that change the tuple composition (scans, joins, aggs, etc.) Change-Id: I73880310553c63296486b2f77a51618738005167 Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4781 Reviewed-by: Marcel Kornacker <marcel@cloudera.com> Tested-by: jenkins Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4794 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Alex Behm <alex.behm@cloudera.com>