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

   ## Purpose
   
   Paimon Java can write `range-bitmap` file indexes, but the Rust reader 
currently ignores them. As a result, selective predicates cannot turn those 
indexes into row selections, including for Mosaic row-group scheduling.
   
   ## Changes
   
   - Decode the Java V1 range-bitmap header, chunk dictionaries, and BSI 
bitmaps.
   - Evaluate equality, set, range, between, and null predicates into 
`FileIndexResult::Selection`.
   - Support Java-compatible primitive, decimal, date/time, timestamp, and 
string encodings.
   - Preserve Rust predicate semantics for signed zero and fail open for NaN 
cases that cannot be proven safely.
   - Correctly select every row for all-null chunks and validate offsets, 
bitmap cardinality, and payload bounds.
   - Fail open on malformed or newer payloads rather than incorrectly pruning 
data.
   
   This PR is query-side only: it reads Java-written range-bitmap indexes. A 
Rust writer can be added independently.
   
   ## Verification
   
   - `cargo test -p paimon --lib`: 2,821 passed, 2 ignored
   - `cargo clippy -p paimon --lib --tests -- -D warnings`
   - Java-generated golden payloads for integer, string, and float columns
   - Regression coverage for all-null chunks, truncation, signed zero, NaN, and 
each supported predicate
   
   ## Related Java work
   
   - apache/paimon#9140
   - apache/paimon#9141
   - apache/paimon#9742
   


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