fn arrange_sink_input<'scope>(
sink_render: &dyn SinkRender<'scope>,
collection: VecCollection<'scope, Timestamp, Row, Diff>,
) -> StreamVec<'scope, Timestamp, <TraceAgent<OrdValSpine<Option<Row>, Row, Timestamp, Diff>> as TraceReader>::Batch>Expand description
Extract the sink’s key column(s) from each row, arrange the resulting
(Option<Row>, Row) collection by key, and return just the stream of
batches — dropping the trace reader.
Prefers the user-specified sink key, falling back to any natural key of the
underlying relation. When neither exists, a synthetic per-row hash is used
purely to distribute work across workers — in that case the sink should
treat the key as absent (key_is_synthetic).
Partial-moving arranged.stream lets the surrounding Arranged (and the
TraceAgent it holds) drop, releasing the spine’s compaction holds so the
arrange operator can compact batch state as it’s emitted.