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]
