Function mz_storage::render::upsert::process_pending_values_batch
source · fn process_pending_values_batch(
time: &Timestamp,
cap: &mut Capability<Timestamp>,
map: &mut BTreeMap<Option<Result<Row, UpsertError>>, UpsertSourceData>,
current_values: &mut BTreeMap<Option<Result<Row, UpsertError>>, Result<Row, DataflowError>>,
row_packer: &mut Row,
dv: &mut DatumVec,
upsert_envelope: &UpsertEnvelope,
key_indices_sorted: &[usize],
key_indices_map: &BTreeMap<usize, usize>,
kdv: &mut DatumVec,
predicates: &[MirScalarExpr],
position_or: &[Option<usize>],
removed_times: &mut Vec<Timestamp>,
output: &mut OutputHandle<'_, Timestamp, (Result<Row, DataflowError>, Timestamp, Diff), Tee<Timestamp, (Result<Row, DataflowError>, Timestamp, Diff)>>
)
Expand description
This function processes a batch of ready (i.e. whose time is below the current
input frontier) values and evaluate them against the intermediate upsert
data (current_values
) and output issues and retractions for the output timely
stream. It is used exclusively by upsert_core