CTTY commented on code in PR #1448: URL: https://github.com/apache/iceberg-rust/pull/1448#discussion_r2151121670
########## crates/iceberg/src/transaction/append.rs: ########## @@ -87,76 +169,45 @@ impl FastAppendAction { /// Specifically, schema compatibility checks and support for adding to partitioned tables /// have not yet been implemented. #[allow(dead_code)] - async fn add_parquet_files(mut self, file_path: Vec<String>) -> Result<Transaction> { - if !self - .snapshot_produce_action - .tx - .current_table - .metadata() - .default_spec - .is_unpartitioned() - { + async fn add_parquet_files(self, table: &Table, file_path: Vec<String>) -> Result<Self> { Review Comment: Because `FastAppendAction` no longer holds `Transaction` or `Table`, we have to pass `&Table` to this method to convert parquet files to data files. I think 1) no transaction action API should allow users to pass `Table` in to keep APIs clear and simple, and 2) Transaction is probably a wrong place to do this file conversion So I'm thinking of isolating the path-to-DataFile conversion logic out to make the API simpler. like this ``` let tx = Transaction::new() let fast_append = tx.fast_append() let data_files = to_data_files(vec![parquet_file_path]) // add a new helper to convert parquet files to DataFile let tx = fast_append.add_data_files(data_files).apply() tx.commit ``` -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org