feat: add RoaringBitmap32, RoaringBitmap64, and BitSet utilities by lxy-9602 · Pull Request #35 · apache/paimon-cpp · GitHub
Skip to content

feat: add RoaringBitmap32, RoaringBitmap64, and BitSet utilities - #35

Merged
leaves12138 merged 1 commit into
apache:mainfrom
lxy-9602:add-roaringbitmap
Jun 1, 2026
Merged

feat: add RoaringBitmap32, RoaringBitmap64, and BitSet utilities#35
leaves12138 merged 1 commit into
apache:mainfrom
lxy-9602:add-roaringbitmap

Conversation

@lxy-9602

@lxy-9602 lxy-9602 commented Jun 1, 2026

Copy link
Copy Markdown
Member

Purpose

No Linked issue.

Introduce bitmap and bitset utility classes:

  • RoaringBitmap32 — 32-bit roaring bitmap wrapper with serialization, set operations (and/or/xor/andnot), and iterator support (roaring_bitmap32.h/cpp)
  • RoaringBitmap64 — 64-bit roaring bitmap wrapper with the same capabilities extended for 64-bit keys (roaring_bitmap64.h/cpp)
  • BitSet — compact bit vector with get/set/clear operations backed by a byte array (bit_set.h/cpp)

Tests

  • roaring_bitmap32_test.cpp — construction, add/remove, contains, serialization/deserialization, set operations
  • roaring_bitmap64_test.cpp — same coverage for 64-bit variant plus large-key scenarios
  • bit_set_test.cpp — bit manipulation, boundary conditions

API and Format

New public headers under include/paimon/utils/.

Documentation

Generative AI tooling

Migrate-by: Aone Copilot (Claude)

@lxy-9602

lxy-9602 commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

@leaves12138 leaves12138 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the latest head. I did not find blockers in this pass.

@leaves12138
leaves12138 merged commit 036dd3a into apache:main Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants