Zouxxyy opened a new pull request, #8367: URL: https://github.com/apache/paimon/pull/8367
### Purpose Support generic partition-directory pruning for format table scans when partition predicates contain OR/nested expressions. Previously pruning used a per-field \`Map<String, Predicate>\` built from \`splitAnd\`, so any predicate referencing more than one partition field (for example \`(dt='20260625' AND hour<'16') OR (dt='20260624' AND hour>='16')\`) was dropped and the scan fell back to listing every partition directory. This change: - replaces the per-field pruning model with incremental partial evaluation of the whole partition predicate during directory descent, so AND/OR/nested/cross-field partition predicates can prune format-table directories correctly; - keeps scan-path prefix optimization unchanged for leading equality conjuncts; - fixes \`format-table.partition-path-only-value=true\` with default/null partitions by allowing the configured default partition directory name through hidden-path filtering and by passing \`defaultPartName\` into \`listPartitionEntries\`. ### Tests - \`mvn -pl paimon-core -Pfast-build -Dtest='FormatTableScanTest,PartitionPathUtilsTest' -DfailIfNoTests=false test\` - \`mvn -pl paimon-spark/paimon-spark-ut -Pspark3,fast-build -DskipTests install\` - \`mvn -pl paimon-spark/paimon-spark-3.5 -Pspark3,fast-build -DfailIfNoTests=false -DwildcardSuites=org.apache.paimon.spark.sql.FormatTableTest -Dtest=none test\` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
