Gabor Kaszab has posted comments on this change. ( http://gerrit.cloudera.org:8080/20133 )
Change subject: IMPALA-12089: Be able to skip pushing down a subset of the predicates ...................................................................... Patch Set 6: (7 comments) http://gerrit.cloudera.org:8080/#/c/20133/6//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/20133/6//COMMIT_MSG@56 PS6, Line 56: Performance of the predicate location is measured on two edge cases: Just curious: In terms of the # of slots being materialised, was this a select * query or did skipping the predicates also reduce the number of materialised slots too? But anyway, quite impressive numbers! http://gerrit.cloudera.org:8080/#/c/20133/5/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java File fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java: http://gerrit.cloudera.org:8080/#/c/20133/5/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@421 PS5, Line 421: return; nit: curly brackets aren't needed around the return statement. http://gerrit.cloudera.org:8080/#/c/20133/5/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@422 PS5, Line 422: } I'm wondering if putting the rest of the code in this function into another function would increase readability. like trySubsettingPredicatesBeingPushedDown(). There might be a better and shorter name for that function, though. http://gerrit.cloudera.org:8080/#/c/20133/5/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@429 PS5, Line 429: for (Expression located : locatedExpressions) { nit: linebreak not necessary here http://gerrit.cloudera.org:8080/#/c/20133/5/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@433 PS5, Line 433: filtering the predicates to be pushed down to Impala scanner. nit: curly brackets not needed. http://gerrit.cloudera.org:8080/#/c/20133/4/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test File testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test: http://gerrit.cloudera.org:8080/#/c/20133/4/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test@1005 PS4, Line 1005: further ro > This is an example for a query that produces untranslated expression. what I meant is that instead of comparing for equality, there is n "IS NULL" expression that could be tried out in my opinion. http://gerrit.cloudera.org:8080/#/c/20133/4/testdata/workloads/functional-planner/queries/PlannerTest/iceberg-v2-tables.test@1025 PS4, Line 1025: ned_position > The Iceberg expression conversion can't convert binary predicates with NULL I get that but for future readers this might not be that obvious. -- To view, visit http://gerrit.cloudera.org:8080/20133 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I597f69ad03ecaf9e304613ef934654e3d9614ae8 Gerrit-Change-Number: 20133 Gerrit-PatchSet: 6 Gerrit-Owner: Peter Rozsa <[email protected]> Gerrit-Reviewer: Gabor Kaszab <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Peter Rozsa <[email protected]> Gerrit-Comment-Date: Wed, 23 Aug 2023 09:18:07 +0000 Gerrit-HasComments: Yes
