JingsongLi opened a new pull request, #8276: URL: https://github.com/apache/paimon/pull/8276
## Summary Add a new `bitmap` global index type for low-cardinality scalar predicates. The index stores exact Roaring 64-bit row-id bitmaps per value plus per-file null/non-null row sets so equality-family predicates work correctly across multiple index files. ## Changes - Add bitmap global index SPI implementation and register it with `GlobalIndexerFactory`. - Store `value -> RoaringNavigableMap64(relativeRowId)` with separate `nullRows` and `nonNullRows` bitmaps. - Support `=`, `IN`, `!=`, `NOT IN`, `IS NULL`, and `IS NOT NULL`; return unsupported for range and pattern predicates so scans can safely fall back. - Add common reader/writer tests for single-file and multi-file predicate semantics. - Add table-level tests covering bitmap global index scan, core read pushdown, multi-range coverage, complement predicates, and null handling. ## Testing - `mvn clean install -DskipTests=true -T 16C -Dmaven.compile.fork=true` - `mvn -pl paimon-common -DfailIfNoTests=false -Dtest=BitmapGlobalIndexReaderTest test` - `mvn -pl paimon-core -am -DfailIfNoTests=false -Dtest=BitmapGlobalIndexTableTest test` - `mvn -pl paimon-common,paimon-core -am -Pfast-build -DfailIfNoTests=false -DskipTests compile` - `git diff --check` -- 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]
