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

   ### Purpose
   
   Linked issue: close #572
   
   Paimon Rust currently rejects `ignore-delete` options for
   `merge-engine=partial-update` tables and unconditionally fails on
   `DELETE` / `UPDATE_BEFORE` rows. This prevents compatibility with Java Paimon
   tables and historical files that use the supported ignore-delete semantics.
   
   This change aligns the basic Rust partial-update implementation with Java for
   this option while keeping advanced partial-update modes unsupported.
   
   ### Brief change log
   
   - Accept exact `ignore-delete` and `partial-update.ignore-delete` options for
     partial-update tables, including explicit `false`.
   - Ignore `DELETE` and `UPDATE_BEFORE` during read-side partial-update merging
     when enabled, including retract-only keys.
   - Filter direct `_VALUE_KIND` retract rows before writer buffering, sequence
     allocation, data-file merge, and input changelog generation.
   - Reject changing the effective option from `true` back to `false`, including
     alias removal and canonical-key override cases.
   - Keep sequence groups, partial aggregation, remove-record options, and
     deletion-vector combinations fail-fast.
   
   ### Tests
   
   - [x] `cargo fmt --all -- --check`
   - [x] `cargo test -p paimon --lib`
   - [x] `cargo test -p paimon --test incremental_batch_scan_test`
   - [x] `cargo test -p paimon-datafusion --test pk_tables`
   - [x] `cargo clippy -p paimon --lib --tests -- -D warnings`
   - [x] `cargo clippy -p paimon-datafusion --test pk_tables -- -D warnings`
   
   Coverage includes:
   
   - canonical and alias option parsing;
   - explicit `false`;
   - `DELETE` and `UPDATE_BEFORE`;
   - retract-only keys;
   - writer buffer, sequence, data, and input changelog behavior;
   - ALTER attempts from effective `true` to `false`;
   - core table and DataFusion SQL end-to-end reads.
   
   ### API and Format
   
   No public API or storage-format change. The change only enables an existing
   Java-compatible table option and filters retract rows according to that 
option.
   
   ### Documentation
   
   Updated the SQL table-option documentation with the supported keys, behavior,
   ALTER restriction, and remaining partial-update limitations.
   


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