pub trait MultiLeftJoinExt<K, V>: MapQuery<K, V>{
// Provided method
fn multi_left_join_by<R, RK, RV, JK, FL, FR>(
self,
right: R,
left_keys: FL,
right_key: FR,
) -> MultiLeftJoinPlan<Self, R, K, V, RK, RV, JK, FL, FR>
where R: MapQuery<RK, RV>,
RK: Hash + Eq + CellValue,
RV: CellValue,
JK: Hash + Eq + CellValue,
FL: Fn(&K, &V) -> Vec<JK> + Send + Sync + 'static,
FR: Fn(&RK, &RV) -> JK + Send + Sync + 'static { ... }
}Expand description
Multi-left-join operator returning a MapQuery plan node.
Consumes self and returns an uncompiled plan node; call
MapQuery::materialize on the result to obtain a subscribable
CellMap.
Provided Methods§
Sourcefn multi_left_join_by<R, RK, RV, JK, FL, FR>(
self,
right: R,
left_keys: FL,
right_key: FR,
) -> MultiLeftJoinPlan<Self, R, K, V, RK, RV, JK, FL, FR>
fn multi_left_join_by<R, RK, RV, JK, FL, FR>( self, right: R, left_keys: FL, right_key: FR, ) -> MultiLeftJoinPlan<Self, R, K, V, RK, RV, JK, FL, FR>
Left join where each left item maps to multiple join keys.
left_keys extracts a Vec of join keys from each left item. Right
items matching any of those keys are collected into the output
Vec. Duplicate right items (reachable via multiple join keys) are
deduplicated by right key. Every left row produces exactly one output
row, keyed by the left key.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".