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

   This draft PR experiments a possible implementation for 
`CreateTableTransaction`. At this early stage, I will focus on the high-level 
requirements and correctness to support staged creation and commit the staged 
table. The new APIs for `CreateTableTransaction` are subject to change.
   
   Just for your convenience, the current PR:
   On Table Side:
   
   - Add `StagedTable` which represents a uncommitted table, inherits `Table` 
and disables table scan. 
   - Add `CreateTableTransaction` which inherits `Transaction`, takes in a 
`StagedTable` and add initial create table updates to the `self._updates`
   - Other helpers to help build metadata from a chain of updates
   
   On Catalog Side:
   
   - Add `_create_staged_table` API which returns a `StagedTable` 
   - Add `create_table_transaction` API 
   - Add a experimental implementation for GlueCatalog
   
   The tentative API looks like
   ```python
   with test_catalog.create_table_transaction(identifier, table_schema_nested) 
as txn:
           with txn.update_schema() as update_schema:
               update_schema.add_column(path="b", field_type=IntegerType())
   
           txn.set_properties(test_a="test_aa", test_b="test_b", 
test_c="test_c")
   ```
   
   Appreciate any initial reviews, suggestions and thoughts!
   
   cc @syun64 @Fokko 


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

Reply via email to