Steve Carlin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24311 )

Change subject: IMPALA-14999: Calcite planner: support Iceberg tables (part 2)
......................................................................


Patch Set 10:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/24311/10/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/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaHdfsScanRel.java@133
PS10, Line 133: context.parentAggregate_.hasCountStarOnly()
> I think we can also have optimized count(*) for V2 tables when there are ot
Nope, you are correct, great find!  The non-Iceberg tables require count(*) 
only, but I looked again at SelectStmt and that's the existing logic.

Furthermore, it produces incorrect results if it has other aggregates.

I changed the code here and also added an e2e test.


http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/IcebergCountStarOptimizer.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/IcebergCountStarOptimizer.java:

http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/IcebergCountStarOptimizer.java@227
PS10, Line 227: size
> Unused
Done


http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/IcebergCountStarOptimizer.java@236
PS10, Line 236: aggCall.getArgList().size() == 0
> Is there any difference between count(*) and count(1) here?
No difference.  Also added a test for this.


http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaFilterSimplifyRule.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaFilterSimplifyRule.java:

http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/ImpalaFilterSimplifyRule.java@65
PS10, Line 65:           ImmutableList.of()));
> Can we return here?
Done


http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteIcebergTable.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteIcebergTable.java:

http://gerrit.cloudera.org:8080/#/c/24311/10/java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteIcebergTable.java@107
PS10, Line 107: catch (Exception e) {
              :     }
> Should we at least log the exception?
Done



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1854012b1caac63ced292b338d40074db950b42d
Gerrit-Change-Number: 24311
Gerrit-PatchSet: 10
Gerrit-Owner: Steve Carlin <[email protected]>
Gerrit-Reviewer: Aman Sinha <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Noemi Pap-Takacs <[email protected]>
Gerrit-Reviewer: Peter Rozsa <[email protected]>
Gerrit-Reviewer: Steve Carlin <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>
Gerrit-Comment-Date: Fri, 29 May 2026 22:42:29 +0000
Gerrit-HasComments: Yes

Reply via email to