Quanlong Huang has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24558 )

Change subject: IMPALA-15019: Avoid materializing non-projected filtered 
partition column.
......................................................................


Patch Set 8:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaFilterRel.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaFilterRel.java:

http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaFilterRel.java@99
PS8, Line 99: filterOnlyBuilder.build()
Can we use inputRefs.except(context.inputRefs_) directly?


http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaHdfsScanRel.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaHdfsScanRel.java:

http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaHdfsScanRel.java@212
PS8, Line 212:           table.isClusteringColumn(slotDesc.getColumn())) {
If the clustering column is used in non-partition conjuncts, we still need it. 
E.g.

SELECT id FROM functional.alltypes WHERE year = 2010 OR int_col = 5;
SELECT id FROM functional.alltypes WHERE year = id;

These two queries can run before this patch. But now they fail due to the 
'year' column is not materialized:
java.lang.IllegalStateException: Illegal reference to non-materialized slot: 
year (tid=0 sid=2)

We might need to move this part after the NonPartitionedConjuncts list 
generation:
https://github.com/apache/impala/blob/525362c780a87da6de0410d905f60f9f8fdc1faf/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaHdfsScanRel.java#L95


http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaProjectRel.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaProjectRel.java:

http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaProjectRel.java@142
PS8, Line 142: two column
nit: "two columns"


http://gerrit.cloudera.org:8080/#/c/24558/8/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaProjectRel.java@142
PS8, Line 142: .
nit: need a space after period.


http://gerrit.cloudera.org:8080/#/c/24558/8/tests/query_test/test_hbo.py
File tests/query_test/test_hbo.py:

http://gerrit.cloudera.org:8080/#/c/24558/8/tests/query_test/test_hbo.py@227
PS8, Line 227:
nit: I think we prefer 4-space indent here



--
To view, visit http://gerrit.cloudera.org:8080/24558
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I902dc625963321aff57e5c05af3d1137c06aa882
Gerrit-Change-Number: 24558
Gerrit-PatchSet: 8
Gerrit-Owner: Steve Carlin <[email protected]>
Gerrit-Reviewer: Aman Sinha <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Jason Fehr <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>
Gerrit-Reviewer: Steve Carlin <[email protected]>
Gerrit-Reviewer: Xuebin Su <[email protected]>
Gerrit-Comment-Date: Fri, 17 Jul 2026 02:30:00 +0000
Gerrit-HasComments: Yes

Reply via email to