Interface TableUpdate

All Superinterfaces:
LogOutputAppendable
All Known Implementing Classes:
TableUpdateImpl

public interface TableUpdate extends LogOutputAppendable
Table update propagation structure, describing the rows and columns that were added, removed, modified, and shifted on a given cycle.
  • Method Details

    • append

      default LogOutput append(LogOutput logOutput)
      Specified by:
      append in interface LogOutputAppendable
    • acquire

      TableUpdate acquire()
      Increment the reference count on this object.
      Returns:
      this for convenience
    • release

      void release()
      Decrement the reference count on this object.
    • empty

      default boolean empty()
      Returns:
      true if no changes occurred in this update
    • valid

      default boolean valid()
      Returns:
      true if all internal state is initialized
    • getModifiedPreShift

      RowSet getModifiedPreShift()
      Returns:
      a cached copy of the modified RowSet in pre-shift keyspace
    • forAllModified

      default void forAllModified(BiConsumer<Long,Long> consumer)
      This helper iterates through the modified RowSet and supplies both the pre-shift and post-shift keys per row.
      Parameters:
      consumer - a consumer to feed the modified pre-shift and post-shift key values to.
    • added

      RowSet added()
      rows added (post-shift keyspace)
    • removed

      RowSet removed()
      rows removed (pre-shift keyspace)
    • modified

      RowSet modified()
      rows modified (post-shift keyspace)
    • shifted

      RowSetShiftData shifted()
      rows that shifted to new indices
    • modifiedColumnSet

      ModifiedColumnSet modifiedColumnSet()
      the set of columns that might have changed for rows in the modified() RowSet