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

   ### Purpose
   
   Move two existing PyPaimon read/update cases onto Native while preserving 
exact comparison and key identity.
   
   ### Changes
   
   - Preserve DECIMAL predicate literals at their own precision/scale when they 
cannot be represented exactly at column scale. The core already compares 
DECIMAL values across scales, as Java's `Decimal.compareTo` does. Stored 
partition values continue to use strict column conversion.
   - Accept lossless floating width changes and equivalent 
Binary/LargeBinary/FixedSizeBinary layouts for upsert match keys. Keep original 
source arrays for selected payloads and unmatched-row append validation.
   - Rebase LargeBinary offsets to the visible byte range before narrowing, 
including small slices after a 2 GiB backing-buffer prefix. Share the existing 
STRING offset logic without broadening ordinary append schemas.
   - Add binding/core regression coverage for finer/wider decimal literals, 
dictionary NULLs, floating rounding/overflow/underflow rejection, binary bytes, 
and sparse mmap slices.
   
   ### Verification
   
   - Rust key normalization tests: 7 passed.
   - Shared STRING/Binary sparse mmap regression: passed.
   - Python binding predicate tests: 78 passed.
   - Rust 1.98.0 Clippy for core and bindings (`--lib --tests -- -D warnings`): 
passed.
   - Companion PyPaimon integration/regression suite against this extension: 
1953 passed, with Native plan/read/write execution counters checked. Covers 
batch/stream upserts, append rejection, predicate updates/deletes, BTree/bitmap 
global indexes, compact/wide decimals, and mixed plan/read modes.
   
   No new public API, dependencies, or legacy Java compatibility paths.
   


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