JingsongLi commented on PR #957:
URL: https://github.com/apache/paimon-rust/pull/957#issuecomment-5935757145

   Requirement fit: SUPPORTED. Implementation: FINDINGS.
   
   [P2] Normalize nullable _VALUE_KIND consistently across mixed batches 
(`crates/paimon/src/table/table_write.rs:638`). On a PK partial-update table 
with remove-record-on-delete=true, write an ordinary batch without _VALUE_KIND, 
then a batch with nullable Int8 _VALUE_KIND containing NULL, into the same 
bucket. Both inputs are accepted and existing kind handling defines NULL as 
Insert. The new normalization adds a nonnullable kind field to the first batch, 
while validation retains the nullable field in the second. prepare_commit then 
fails: "Column '_VALUE_KIND' is declared as non-nullable but contains null 
values". An exact baseline table_write.rs control successfully writes, commits 
and reads IDs [1,2] for the same inputs. Canonicalize the kind schema for every 
buffered batch while preserving null-as-Insert semantics (or replace accepted 
null kinds with Insert before buffering); add this mixed-input regression test. 
A temporary consistent nullable-field control makes the complete p
 robe pass.
   
   Validation at 8afbe404a749157e92cd0ca920b81bb7854711aa: all 82 existing 
partial-update tests pass, including actual write/commit/read, explicit 
rowkind.field, DV and sequence-group paths. The ordinary mixed Insert/DELETE 
fix has concrete value: an exact baseline control leaves (1,40) after the 
delete, while this head correctly returns no row. The additional nullable-kind 
case above fails only on the head. Independent normalization/caller/config 
review found no other issue; current-main merge-tree and all 14 head CI checks 
are clean.
   


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