Class StreamReadScope

java.lang.Object
dev.frostlake.transaction.StreamReadScope

public final class StreamReadScope extends Object
What a consuming DML's stream read actually SAW, captured at read time so the commit can advance the stream past exactly that — and nothing more. committedCut is the stream's record count at the read (every committed record before it was visible); seenTransient are the transaction's own buffered changes folded into the read (synthesized by TransactionWriteSet.bufferedChangeRecords(java.lang.String, dev.frostlake.storage.TableStorage, java.lang.String)), which the commit will re-emit as real records. Changes the transaction buffers AFTER the read are not in either part, so they stay unconsumed — mirroring Snowflake, where the flush-then-load pattern runs each statement in its own transaction and a stream read never consumes changes made after it.
  • Constructor Details

    • StreamReadScope

      public StreamReadScope(long committedCut, List<StreamRecord> seenTransient)
  • Method Details

    • getCommittedCut

      public long getCommittedCut()
    • getSeenTransient

      public List<StreamRecord> getSeenTransient()