Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/23566 )
Change subject: IMPALA-14065: Support WHERE clause in SHOW PARTITIONS statement ...................................................................... Patch Set 9: (3 comments) http://gerrit.cloudera.org:8080/#/c/23566/8/fe/src/main/java/org/apache/impala/analysis/PartitionPredicateEvaluator.java File fe/src/main/java/org/apache/impala/analysis/PartitionPredicateEvaluator.java: http://gerrit.cloudera.org:8080/#/c/23566/8/fe/src/main/java/org/apache/impala/analysis/PartitionPredicateEvaluator.java@77 PS8, Line 77: > I believe you are saying that we dont need to add extra seeding here. We CA No, I mean we don't need seeding here to make rand() returns really random results. Its behavior is already documented and if users want to pick partitions randomly, there are other workarounds. http://gerrit.cloudera.org:8080/#/c/23566/8/fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java File fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java: http://gerrit.cloudera.org:8080/#/c/23566/8/fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java@132 PS8, Line 132: isPartitionPrunedFilterConjunct > Sorry, ignore my third point earlier. The reason Im against including evalA 1. changing the callsite codes is pretty simple. Just adding a new boolean parameter. And there are only few callsites. 2. so the other places just need evalAllFuncs=false. No other changes are required. 3. I don't think adding an evalAllFuncs parameter makes prunePartitions() complicated. Just adding few checks on evalAllFuncs in prunePartitions() and HdfsPartitionFilter. It's much simpler than the current solution which adds some duplicate codes and increases maintanence efforts. Fixing the issue just needs 30+ lines of code changes, instead of the current patch set that adds 300+ lines of changes after patch set 7. http://gerrit.cloudera.org:8080/#/c/23566/9/testdata/workloads/functional-query/queries/QueryTest/show-stats.test File testdata/workloads/functional-query/queries/QueryTest/show-stats.test: http://gerrit.cloudera.org:8080/#/c/23566/9/testdata/workloads/functional-query/queries/QueryTest/show-stats.test@397 PS9, Line 397: Unsupported non-deterministic predicate: count(`year`) > 0 This is misleading since it's not a non-deterministic predicate. Maybe the reason is aggregate functions are not allowed here? -- To view, visit http://gerrit.cloudera.org:8080/23566 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2e2a14aabcea3fb17083d4ad6f87b7861113f89e Gerrit-Change-Number: 23566 Gerrit-PatchSet: 9 Gerrit-Owner: Arnab Karmakar <[email protected]> Gerrit-Reviewer: Arnab Karmakar <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Peter Rozsa <[email protected]> Gerrit-Reviewer: Pranav Lodha <[email protected]> Gerrit-Reviewer: Quanlong Huang <[email protected]> Gerrit-Reviewer: Riza Suminto <[email protected]> Gerrit-Reviewer: Surya Hebbar <[email protected]> Gerrit-Comment-Date: Wed, 26 Nov 2025 05:41:38 +0000 Gerrit-HasComments: Yes
