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

Method mfp_filter

src/expr/src/interpret.rs:446–455  ·  view source on GitHub ↗

Specifically, this evaluates the map and filters stages of an MFP: summarize each of the map expressions, then `and` together all of the filters.

(&self, mfp: &MapFilterProject)

Source from the content-addressed store, hash-verified

444 /// Specifically, this evaluates the map and filters stages of an MFP: summarize each of the
445 /// map expressions, then `and` together all of the filters.
446 fn mfp_filter(&self, mfp: &MapFilterProject) -> Self::Summary {
447 let mfp_eval = MfpEval::new(self, mfp.input_arity, &mfp.expressions);
448 // NB: self should not be used after this point!
449 let predicates = mfp
450 .predicates
451 .iter()
452 .map(|(_, e)| mfp_eval.expr(e))
453 .collect();
454 mfp_eval.variadic(&And.into(), predicates)
455 }
456
457 /// Similar to [Self::mfp_filter], but includes the additional temporal filters that have been
458 /// broken out.

Callers

nothing calls this directly

Implementers 1

interpret.rssrc/expr/src/interpret.rs

Calls 5

collectMethod · 0.45
mapMethod · 0.45
iterMethod · 0.45
exprMethod · 0.45
variadicMethod · 0.45

Tested by

no test coverage detected