MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / apply

Method apply

src/compute-types/src/plan/join.rs:68–84  ·  view source on GitHub ↗
(
        &'a self,
        datums: &mut Vec<Datum<'a>>,
        temp_storage: &'a RowArena,
        row: &'row mut Row,
    )

Source from the content-addressed store, hash-verified

66 /// Applies per-row filtering and logic.
67 #[inline(always)]
68 pub fn apply<'a, 'row>(
69 &'a self,
70 datums: &mut Vec<Datum<'a>>,
71 temp_storage: &'a RowArena,
72 row: &'row mut Row,
73 ) -> Result<Option<&'row Row>, mz_expr::EvalError> {
74 for exprs in self.ready_equivalences.iter() {
75 // Each list of expressions should be equal to the same value.
76 let val = exprs[0].eval(&datums[..], temp_storage)?;
77 for expr in exprs[1..].iter() {
78 if expr.eval(datums, temp_storage)? != val {
79 return Ok(None);
80 }
81 }
82 }
83 self.before.evaluate_into(datums, temp_storage, row)
84 }
85
86 /// Construct an instance of the closure from available columns.
87 ///

Callers 10

update_configurationMethod · 0.45
render_delta_joinMethod · 0.45
build_halfjoin2Function · 0.45
build_halfjoin1Function · 0.45
build_update_streamFunction · 0.45
render_join_innerMethod · 0.45

Calls 3

evaluate_intoMethod · 0.80
iterMethod · 0.45
evalMethod · 0.45

Tested by

no test coverage detected