JingsongLi opened a new pull request, #10345: URL: https://github.com/apache/paimon/pull/10345
### Purpose Allow Flink and Spark to build composite BTree global indexes for Data Evolution tables through `sys.create_global_index` with an ordered, comma-separated column list. This follows the storage and equality-query support merged in #10338 and #10339. - Pass every key column to the index scanner, writer and indexer. - Construct typed tuple keys in both engines and preserve key order during sorting. - Keep independently configured single-column indexes and composite definitions separate. - Add integration coverage for nullable components, reader/eager equality queries, incremental builds, updates to either component, unchanged rebuilds and precise index removal. - Document the current full-key equality contract and build lifecycle. Python support remains deferred. Prefix, range and IN query optimization will follow separately. ### Tests All scoped tests pass without the `fast-build` profile: | Profile | Runtime | Scope | Result | | --- | --- | --- | --- | | Flink 1 | JDK 8 | Composite/single BTree, Bitmap, MultiValue integration tests; topology and procedure unit tests | 15 passed | | Flink 2 | JDK 11 | Same Flink scope after rebuilding the common module | 15 passed | | Spark 3 | JDK 8 / Scala 2.12 | Composite and existing create-index procedure suites; topology and procedure Java unit tests | 9 Scala + 15 Java passed | | Spark 4 | JDK 17 / Scala 2.13 | Same Spark scope after a clean dependency build | 9 Scala + 15 Java passed | Checkstyle, Spotless, Maven Enforcer, Apache RAT and `git diff --check` also pass. -- 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]
