Alex Behm has uploaded a new change for review. http://gerrit.cloudera.org:8080/2415
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 --- 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 7 files changed, 247 insertions(+), 208 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/15/2415/1 -- To view, visit http://gerrit.cloudera.org:8080/2415 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I298b8695c9f26644a395ca9f0e86040e3f5f3846 Gerrit-PatchSet: 1 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Alex Behm <[email protected]>
