SaymV opened a new pull request, #3070:
URL: https://github.com/apache/iceberg-python/pull/3070

   ## Summary
   - enable writing table metadata for format v3 and raise the supported format 
ceiling to v3
   - add `ManifestWriterV3` and `ManifestListWriterV3`, including v3 
manifest-list `first_row_id` assignment
   - wire snapshot commits to populate v3 `first_row_id` and `added_rows` from 
manifest-list row-id assignment
   - allow transaction format upgrades to v3 and initialize `next_row_id=0` for 
new/upgraded v3 tables
   - update unit and integration tests to assert v3 write success (including 
nanosecond schema and row-lineage assertions)
   
   ## Implementation notes
   - `DEFAULT_READ_VERSION` in manifest handling is now `3` so v3 fields 
(including `ManifestFile.first_row_id`) are preserved when reading/re-writing 
manifests.
   - v3 manifest-list row-id assignment follows Java behavior: assign only for 
data manifests missing `first_row_id`, and advance by `existing_rows_count + 
added_rows_count`.
   
   ## Validation
   - `./.venv/bin/python -m pytest -q tests/table/test_metadata.py 
tests/table/test_init.py tests/utils/test_manifest.py`
   - `uv run python -m pytest -q tests/integration/test_reads.py -k 
upgrade_table_version`
   - `uv run python -m pytest -q tests/integration/test_writes/test_writes.py 
-k "test_nanosecond_support_on_catalog or test_v3_write_and_read_row_lineage"`
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to