Class ConflictChecker.TransactionRebaseState

Object
io.delta.kernel.internal.replay.ConflictChecker.TransactionRebaseState
Enclosing class:
ConflictChecker

public static class ConflictChecker.TransactionRebaseState extends Object
Class containing the rebase state from winning transactions that the current transaction needs to rebase against before attempting the commit.

Currently, the rebase state is just the latest winning version of the table plus the updated data actions and domainMetadata actions to commit. In future once we start supporting read-after-write, row tracking, etc., we will have more state to add. For example read-after-write will need to know the files deleted in the winning transactions to make sure the same files are not deleted by the current (losing) transaction.

  • Constructor Details

  • Method Details

    • getLatestVersion

      public long getLatestVersion()
      Return the latest winning version of the table.
      Returns:
      latest winning version of the table.
    • getLatestCommitTimestamp

      public long getLatestCommitTimestamp()
      Return the latest commit timestamp of the table. For ICT enabled tables, this is the ICT of the latest winning transaction commit file. For non-ICT enabled tables, this is the modification time of the latest winning transaction commit file.
      Returns:
      latest commit timestamp of the table.
    • getUpdatedDataActions

      public CloseableIterable<Row> getUpdatedDataActions()
    • getUpdatedDomainMetadatas

      public List<DomainMetadata> getUpdatedDomainMetadatas()
    • getUpdatedCrcInfo

      public Optional<CRCInfo> getUpdatedCrcInfo()