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)
| 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. |