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
