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

   ### Purpose
   
   `IndexManifestEntry` emits `_VERSION` last during Serde serialization, while 
Java's `IndexManifestEntrySerializer` emits it first. Align the Rust 
declaration order with Java and protect the field order of manifest, 
manifest-list, and index manifest records.
   
   Follow-up to #742 and #743.
   
   ### Brief change log
   
   - Move `IndexManifestEntry.version` before the entry fields and flattened 
index file metadata.
   - Add a regression test for `_VERSION` appearing first in Serde output.
   - Check field order in records decoded from written Avro files, including 
data-file metadata, statistics, deletion-vector ranges, and global-index 
metadata. Verify index entries round-trip through both readers.
   
   ### Tests
   
   - Confirmed the Serde order regression test fails before the fix.
   - `cargo test --locked -p paimon --lib spec:: --quiet`: 563 passed.
   - `cargo clippy --locked -p paimon --lib --tests -- -D warnings`: passed.
   - `cargo fmt --all -- --check`: passed.
   - `git diff --check`: passed.
   
   ### API and Format
   
   No fields or Avro schemas change. Existing Avro field order already matches 
Java because serialization resolves values against the writer schema. 
Serde/JSON output for index manifest entries now places `_VERSION` first.
   
   ### Documentation
   
   No documentation changes required.
   
   AI assistance: the implementation and regression tests were prepared with 
Codex.
   


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