Summary
Types
@type t() :: %Electric.Shapes.Consumer.Subqueries.ActiveMove{ boundary_txn_count: non_neg_integer() | nil, buffered_txn_count: non_neg_integer(), buffered_txns: [Electric.Replication.Changes.Transaction.t()], dep_index: non_neg_integer(), dep_move_kind: :move_in | :move_out, latest_seen_lsn: Electric.Postgres.Lsn.t() | nil, move_in_lsn: Electric.Postgres.Lsn.t() | nil, move_in_row_bytes: non_neg_integer() | nil, move_in_row_count: non_neg_integer() | nil, move_in_snapshot_name: String.t() | nil, snapshot: {term(), term(), [term()]} | nil, subquery_ref: [String.t()], values: [move_value()], views_after_move: Electric.Shapes.Consumer.Subqueries.Views.t(), views_before_move: Electric.Shapes.Consumer.Subqueries.Views.t() }
Functions
@spec buffer_txn(t(), Electric.Replication.Changes.Transaction.t()) :: t()
@spec buffered_txn_count(t()) :: non_neg_integer()
@spec carry_latest_seen_lsn(t(), Electric.Postgres.Lsn.t() | nil) :: t()
@spec last_buffered_log_offset(t()) :: Electric.Replication.LogOffset.t() | nil
@spec record_query_complete!( t(), String.t(), non_neg_integer(), non_neg_integer(), Electric.Postgres.Lsn.t() ) :: t()
@spec record_seen_lsn(t(), Electric.Postgres.Lsn.t()) :: t()
@spec split_buffer(t()) :: {[Electric.Replication.Changes.Transaction.t()], [Electric.Replication.Changes.Transaction.t()]}
@spec start( Electric.Shapes.Consumer.Subqueries.Views.t(), non_neg_integer(), :move_in | :move_out, [String.t()], [move_value()] ) :: t()