Class ShiftAwareListener.Update

java.lang.Object
com.illumon.iris.db.v2.ShiftAwareListener.Update
All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable
Enclosing interface:
ShiftAwareListener

public static class ShiftAwareListener.Update extends Object implements com.fishlib.base.log.LogOutputAppendable
A shift aware update structure, containing the rows and columns that were added, modified, removed, and shifted on a given cycle.
  • Field Details

    • added

      public Index added
      rows added (post-shift keyspace)
    • removed

      public Index removed
      rows removed (pre-shift keyspace)
    • modified

      public Index modified
      rows modified (post-shift keyspace)
    • shifted

      public IndexShiftData shifted
      rows that shifted to new indices
    • modifiedColumnSet

      public ModifiedColumnSet modifiedColumnSet
      the set of columns that might have changed for rows in the modified() index
  • Constructor Details

  • Method Details

    • acquire

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

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

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

      public boolean valid()
      Returns:
      true if all internal state is initialized
    • copy

      Make a deep copy of this object.
      Returns:
      a deep copy of this object
    • getModifiedPreShift

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

      public void forAllModified(BiConsumer<Long,Long> consumer)
      This helper iterates through the modified index 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • append

      public com.fishlib.base.log.LogOutput append(com.fishlib.base.log.LogOutput logOutput)
      Specified by:
      append in interface com.fishlib.base.log.LogOutputAppendable