zjw1111 opened a new pull request, #271: URL: https://github.com/apache/paimon-cpp/pull/271
### Purpose Linked issue: N/A Extend file-index read/write support while keeping the serialized data compatible with Java Paimon: - Support `FLOAT` and `DOUBLE` in bitmap indexes. - Support `DECIMAL` in BSI indexes. - Support `STRING`, `DECIMAL`, and `TIMESTAMP` in range-bitmap indexes. - Add a range-bitmap type adapter for logical-to-storage type and literal conversion. - Add variable-length dictionary chunks for string keys and avoid eagerly reading chunk bodies. - Cover canonical and payload NaNs, signed zero, infinities, and Java-generated bitmap bytes. ### Tests - `pre-commit run --files <all changed files>` - `git diff --check upstream/main...HEAD` - Compiled all 12 changed C++ translation units with the repository Debug compile commands (`-Werror`, ASan). - `BitmapIndexTest.*` (14 tests) - `BitSliceIndexBitmapIndexReaderTest.*:ChunkedDictionaryTest.*:RangeBitmapFileIndexTest.*:RangeBitmapTypeAdapterTest.*` (55 tests) - `SizeLimitAndCardinality/*` (70 tests) ### API and Format No public API under `include/` is changed. The existing bitmap, BSI, and range-bitmap formats are extended to the additional logical types without changing their format versions. Floating-point bitmap keys are verified against Java-generated V1/V2 bytes. ### Documentation No documentation changes. ### Generative AI tooling Generated-by: OpenAI Codex (GPT-5). -- 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]
