xanderbailey opened a new pull request, #3039:
URL: https://github.com/apache/iceberg-rust/pull/3039

   ## Which issue does this PR close?
   
   N/A. This is the independently reviewable foundation for transactional table 
creation. Additional catalog implementations and CREATE OR REPLACE semantics 
will follow in separate PRs.
   
   ## What changes are included in this PR?
   
   This PR adds staged table creation alongside the existing eager 
Catalog::create_table path.
   
   - Adds a TransactionalCatalog capability trait with create_table_transaction.
   - Adds a create transaction mode that exposes its staged Table for write 
actions, emits the initial metadata updates, and commits with assert-create.
   - Keeps staged tables invisible until commit and does not retry create 
conflicts.
   - Extends TableCommit so catalog implementations can distinguish and 
atomically apply creation commits without changing the public builder signature.
   - Implements staged creation for MemoryCatalog, including catalog-derived 
locations and atomic registration under its catalog lock.
   - Updates the public API snapshot.
   
   Only MemoryCatalog implements the capability in this PR. REST support and 
replacement semantics are intentionally left for follow-up PRs.
   
   ## Are these changes tested?
   
   Yes.
   
   - Added a test that appends data to a staged table, verifies it is invisible 
before commit, and verifies the table and snapshot become visible together.
   - Added a concurrent-create test that verifies assert-create rejects the 
staged commit without modifying the winning table.
   - cargo test -p iceberg --lib: 1,576 passed.
   - cargo check --workspace --all-targets --all-features.
   - cargo clippy -p iceberg --all-targets --all-features -- -D warnings.
   - Pinned-nightly rustfmt and generated public API checks.
   
   ## AI Disclosure
   
   Developed with the help of Codex.


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