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]

Reply via email to