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

Method evaluate_iter

src/expr/src/linear.rs:1661–1672  ·  view source on GitHub ↗
(
            &'a self,
            datums: &'b mut Vec<Datum<'a>>,
            arena: &'a RowArena,
        )

Source from the content-addressed store, hash-verified

1659 /// datums without packing and then unpacking a row.
1660 #[inline(always)]
1661 pub fn evaluate_iter<'b, 'a: 'b>(
1662 &'a self,
1663 datums: &'b mut Vec<Datum<'a>>,
1664 arena: &'a RowArena,
1665 ) -> Result<Option<impl Iterator<Item = Datum<'a>> + 'b>, EvalError> {
1666 let passed_predicates = self.evaluate_inner(datums, arena)?;
1667 if !passed_predicates {
1668 Ok(None)
1669 } else {
1670 Ok(Some(self.mfp.projection.iter().map(move |i| datums[*i])))
1671 }
1672 }
1673
1674 /// Populates `datums` with `self.expressions` and tests `self.predicates`.
1675 ///

Callers 1

evaluate_mfp_afterFunction · 0.80

Calls 3

evaluate_innerMethod · 0.80
mapMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected