JingsongLi opened a new pull request, #10347: URL: https://github.com/apache/paimon/pull/10347
### Purpose Completes the remaining Java composite BTree query support after #10346. Python support remains deferred. - Support `IN`, `IS NULL` and `IS NOT NULL` in composite key plans, including discrete prefixes followed by a range and full-key multi-point lookups. - Intersect predicates on each key column and deduplicate typed values before expanding at most 256 intervals. Larger expansions use the existing fallback. - Scan the selected file union once for budgeting, retain Bloom point lookups, and keep later key predicates as data filters. - Use the leading column's scalar coverage when choosing between composite and single-column indexes, including definitions registered under secondary columns. - Update the BTree documentation and cover both eager and reader queries across FAST, FULL and DETAIL modes. The existing index file format and serialization are preserved. ### Tests | Scope | Profile / JDK | Tests | | --- | --- | --- | | Composite BTree storage and predicate planning | JDK 8 | 23 | | Global index planning and data evolution table queries | JDK 8 | 80 | | Flink composite BTree SQL | Flink 1 / JDK 8 | 1 | | Flink composite BTree SQL | Flink 2 / JDK 11 | 1 | | Spark composite BTree procedure and SQL | Spark 3 / JDK 8 | 2 | | Spark composite BTree procedure and SQL | Spark 4 / JDK 17 | 2 | 109 focused test executions. Final runs include Checkstyle, Spotless and Maven Enforcer; Apache RAT and `git diff --check` also pass. Regressions cover both BTree file versions, compressed block boundaries, typed domain intersection and deduplication, the 256-interval boundary, NULL semantics, shared-file budgeting, deleted scalar postings, reader/eager parity, scan modes and unindexed tails. -- 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]
