pub fn arrange_from_upsert<G, Bu, Tr>(
stream: &Stream<G, (Tr::KeyOwn, Option<Tr::ValOwn>, G::Timestamp)>,
name: &str,
) -> Arranged<G, TraceAgent<Tr>>where
G: Scope<Timestamp = Tr::Time>,
Tr: for<'a> Trace<KeyOwn: ExchangeData + Hashable + Hash, ValOwn: ExchangeData, Time: TotalOrder + ExchangeData, Diff = isize> + 'static,
Bu: Builder<Time = G::Timestamp, Input = Vec<((Tr::KeyOwn, Tr::ValOwn), Tr::Time, Tr::Diff)>, Output = Tr::Batch>,Expand description
Arrange data from a stream of keyed upserts.
The input should be a stream of timestamped pairs of Key and Option<Val>.
The contents of the collection are defined key-by-key, where each optional
value in sequence either replaces or removes the existing value, should it
exist.
This method is only implemented for totally ordered times, as we do not yet understand what a “sequence” of upserts would mean for partially ordered timestamps.