deltalake_core::operations

Module transaction

Source
Expand description

Add a commit entry to the Delta Table. This module provides a unified interface for modifying commit behavior and attributes

CommitProperties provides an unified client interface for all Delta opeartions. Internally this is used to initialize a CommitBuilder.

For advanced use cases CommitBuilder can be used which allows finer control over the commit process. The builder can be converted into a future the yield either a PreparedCommit or a FinalizedCommit.

A PreparedCommit represents a temporary commit marker written to storage. To convert to a FinalizedCommit an atomic rename is attempted. If the rename fails then conflict resolution is performed and the atomic rename is tried for the latest version.

                                          Client Interface
        ┌─────────────────────────────┐                    
        │      Commit Properties      │                    
        │                             │                    
        │ Public commit interface for │                    
        │     all Delta Operations    │                    
        │                             │                    
        └─────────────┬───────────────┘                    
                      │                                    
 ─────────────────────┼────────────────────────────────────
                      │                                    
                      ▼                  Advanced Interface
        ┌─────────────────────────────┐                    
        │       Commit Builder        │                    
        │                             │                    
        │   Advanced entry point for  │                    
        │     creating a commit       │                    
        └─────────────┬───────────────┘                    
                      │                                    
                      ▼                                    
     ┌───────────────────────────────────┐                 
     │                                   │                 
     │ ┌───────────────────────────────┐ │                 
     │ │        Prepared Commit        │ │                 
     │ │                               │ │                 
     │ │     Represents a temporary    │ │                 
     │ │   commit marker written to    │ │                 
     │ │           storage             │ │                 
     │ └──────────────┬────────────────┘ │                 
     │                │                  │                 
     │                ▼                  │                 
     │ ┌───────────────────────────────┐ │                 
     │ │       Finalize Commit         │ │                 
     │ │                               │ │                 
     │ │   Convert the commit marker   │ │                 
     │ │   to a commit using atomic    │ │                 
     │ │         operations            │ │                 
     │ │                               │ │                 
     │ └───────────────────────────────┘ │                 
     │                                   │                 
     └────────────────┬──────────────────┘                 
                      │                                    
                      ▼                                    
       ┌───────────────────────────────┐                   
       │          Post Commit          │                   
       │                               │                   
       │ Commit that was materialized  │                   
       │ to storage with post commit   │                   
       │      hooks to be executed     │                   
       └──────────────┬────────────────┘                 
                      │                                    
                      ▼    
       ┌───────────────────────────────┐                   
       │        Finalized Commit       │                   
       │                               │                   
       │ Commit that was materialized  │                   
       │         to storage            │                   
       │                               │                   
       └───────────────────────────────┘           

Structs§

  • Prepare data to be committed to the Delta log and control how the commit is performed
  • Data that was actually written to the log store.
  • End user facing interface to be used by operations on the table. Enable controling commit behaviour and modifying metadata that is written during a commit.
  • A commit that successfully completed
  • Represents items for the post commit hook
  • Properties for post commit hook.
  • Represents a commit that has not yet started but all details are finalized
  • Represents a inflight commit

Enums§

Statics§

  • The global protocol checker instance to validate table versions and features.

Traits§

  • Reference to some structure that contains mandatory attributes for performing a commit.