Function mz_compute::render::join::mz_join_core::mz_join_core
source · pub(super) fn mz_join_core<G, Tr1, Tr2, L, I, YFn>(
arranged1: &Arranged<G, Tr1>,
arranged2: &Arranged<G, Tr2>,
shutdown_token: ShutdownToken,
result: L,
yield_fn: YFn
) -> Collection<G, I::Item, Diff>where
G: Scope,
G::Timestamp: Lattice,
Tr1: TraceReader<Time = G::Timestamp, Diff = Diff> + Clone + 'static,
Tr2: for<'a> TraceReader<Key<'a> = Tr1::Key<'a>, Time = G::Timestamp, Diff = Diff> + Clone + 'static,
L: FnMut(Tr1::Key<'_>, Tr1::Val<'_>, Tr2::Val<'_>) -> I + 'static,
I: IntoIterator,
I::Item: Data,
YFn: Fn(Instant, usize) -> bool + 'static,
Expand description
Joins two arranged collections with the same key type.
Each matching pair of records (key, val1)
and (key, val2)
are subjected to the result
function,
which produces something implementing IntoIterator
, where the output collection will have an entry for
every value returned by the iterator.