JingsongLi opened a new pull request, #8453: URL: https://github.com/apache/paimon/pull/8453
## Summary Unifies row-range backing storage on Roaring bitmaps while preserving the existing RowRangeIndex API and its boundary-sensitive semantics. Mirrors the range APIs in Python RoaringBitmap64 and aligns Python row-id existence conflict checks with Java. ## Changes - Add range predicates, intersected range extraction, and from-ranges construction to RoaringNavigableMap64 and RoaringBitmap64. - Refactor RowRangeIndex to store row ids with RoaringNavigableMap64 while retaining normalized ranges for contains and containsExactly semantics. - Align Python blob/dedicated row-id existence checks so adjacent data file ranges are not treated as one covering range. - Add Java and Python tests for range predicates, boundary semantics, large row ids, and conflict detection. ## Testing - [x] mvn -pl paimon-common -Pfast-build -Dtest=RoaringNavigableMap64Test,RowRangeIndexTest test - [x] mvn -pl paimon-core -am -Pfast-build -DfailIfNoTests=false -Dtest=DataEvolutionBatchScanTest,SortedGlobalIndexBuilderSplitTest,ConflictDetectionTest test - [x] cd paimon-python && python -m pytest pypaimon/tests/roaring_bitmap_test.py pypaimon/tests/write/conflict_detection_test.py -q - [x] cd paimon-python && python -m pytest pypaimon/tests/global_index_test.py pypaimon/tests/global_index_build_test.py pypaimon/tests/range_test.py -q - [x] 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]
