Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-3084: Cache the sequence of table ref and materialized tuple ids during analysis. ......................................................................
IMPALA-3084: Cache the sequence of table ref and materialized tuple ids during analysis. The bug: For correct predicate assignment we rely on TableRef.getAllTupleIds() and TableRef.getMaterializedTupleIds(). The implementation of those functions used to traverse the chain of table refs and collect the appropriate ids. However, during plan generation we alter the chain of table refs, in particular, for dealing with nested collections, so those altered TableRefs do not return the expected list of ids, leading to wrong decisions in predicate assignment. The fix: Cache the lists of ids during analysis, so we are free to alter the chain of TableRefs during plan generation. Change-Id: I298b8695c9f26644a395ca9f0e86040e3f5f3846 Reviewed-on: http://gerrit.cloudera.org:8080/2415 Reviewed-by: Alex Behm <[email protected]> Tested-by: Internal Jenkins --- M fe/src/main/java/com/cloudera/impala/analysis/Analyzer.java M fe/src/main/java/com/cloudera/impala/analysis/SingularRowSrcTableRef.java M fe/src/main/java/com/cloudera/impala/analysis/TableRef.java M fe/src/main/java/com/cloudera/impala/planner/HdfsScanNode.java M fe/src/main/java/com/cloudera/impala/planner/SingleNodePlanner.java M fe/src/test/java/com/cloudera/impala/analysis/AnalyzeStmtsTest.java M testdata/workloads/functional-planner/queries/PlannerTest/join-order.test M testdata/workloads/functional-planner/queries/PlannerTest/nested-collections.test M testdata/workloads/functional-planner/queries/PlannerTest/tpch-nested.test 9 files changed, 184 insertions(+), 154 deletions(-) Approvals: Internal Jenkins: Verified Alex Behm: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/2415 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I298b8695c9f26644a395ca9f0e86040e3f5f3846 Gerrit-PatchSet: 5 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Alex Behm <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Marcel Kornacker <[email protected]>
