liwuhen opened a new pull request, #953:
URL: https://github.com/apache/paimon-rust/pull/953

   ### Purpose
   
   PR #876 added end-to-end compatibility tests for Java-generated Bitmap and 
Bloom Filter tables. This change extends the same fixture framework to Range 
Bitmap.
   
   The goal is to verify that Rust can load and query tables written and 
committed through Apache Paimon Java's normal table-writing path, with the 
Range Bitmap index stored either in manifest metadata or in a `.index` sidecar. 
This is test coverage only; it does not address a known interoperability bug.
   
   ### Brief change log
   
   - Add two Java-generated, committed table fixtures: `range_bitmap_embedded` 
and `range_bitmap_sidecar`.
   - Extend the existing Java generator without changing the four Bitmap and 
Bloom Filter fixtures.
   - Use deterministic rows containing duplicate values and `NULL`. The Range 
Bitmap tables contain IDs `1` and `9`, leaving a missing range within the data 
file's `[1, 9]` statistics.
   - Extend the Rust integration test to verify matching and non-matching range 
queries, index-enabled and index-disabled results, residual filtering, and both 
index storage locations.
   - Update the fixture documentation with the inputs, expected results, and 
regeneration instructions.
   
   The fixtures were generated from Apache Paimon Java commit 
`1d368b4a5932f8221fd28e2555001abdb8fb12ee` (`2.2-SNAPSHOT`) through its 
catalog, append writer, commit, snapshot, and manifest paths.
   
   ### Tests
   
   - `reads_java_written_file_indexes_and_prunes_data_files` passes for all six 
tables.
   - For each Range Bitmap table, `id BETWEEN 1 AND 3` returns both rows with 
ID `1`, while `id BETWEEN 3 AND 7` returns no rows, whether FileIndex reads are 
enabled or disabled.
   - The missing-range query remains in the scan plan and is not pruned by 
manifest data statistics. With FileIndex reads enabled, it does not open the 
Parquet data file; with reads disabled, it does.
   - The Java fixture generator completed successfully.
   
   Commands run locally:
   
   ```text
   cargo test --offline --locked -p paimon --test file_index_java_fixture_test
   cargo test --offline --locked -p paimon --no-default-features --test 
file_index_java_fixture_test --no-run
   cargo clippy --offline --locked -p paimon --test 
file_index_java_fixture_test -- -D warnings
   cargo fmt --all -- --check
   bash -n crates/paimon/testdata/file_index/regenerate.sh
   git diff --check
   ```
   
   ### API and Format
   
   No public API, production logic, or persisted format changes. This change 
adds only Java-generated fixtures, generator coverage, integration assertions, 
and documentation. It does not add a new index type or writing mode.
   
   ### Documentation
   
   Update the existing FileIndex fixture README to describe the Range Bitmap 
tables, their Java provenance and configuration, input rows, expected 
range-query results, and the predicate used to demonstrate FileIndex pruning.
   


-- 
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