bethvourc opened a new pull request, #4221: URL: https://github.com/apache/iceberg-python/pull/4221
Closes #4192 ## Rationale for this change `Transaction.dynamic_partition_overwrite` wrote its data files using the committed table metadata, but built its delete filter from the transaction's metadata. After an `update_spec` in the same transaction, the two disagree on the partition spec, so the wrong rows can be deleted and new files recorded under the wrong partition. After an in-transaction `add_column`, it raises `ValueError` instead. This passes `self.table_metadata` to `_dataframe_to_data_files`, matching `append`, `overwrite` and `delete`. ## Are these changes tested? Yes. Two new tests cover `update_spec` and `add_column` inside a transaction. Both fail without the fix and pass with it. The full unit suite, the Docker integration suite and the lint hooks pass locally. ## Are there any user-facing changes? Yes, only as the bug fix: both cases now behave correctly. -- 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]
