Assume the predicate is in the form of DNF, split the predicate to a Vec of PhysicalExprs. For example, split "a1 = a2 OR b1 <= b2 OR c1 != c2" into ["a1 = a2", "b1 <= b2", "c1 != c2"]
(
predicate: &Arc<dyn PhysicalExpr>,
)
| 134 | /// |
| 135 | /// For example, split "a1 = a2 OR b1 <= b2 OR c1 != c2" into ["a1 = a2", "b1 <= b2", "c1 != c2"] |
| 136 | pub fn split_disjunction( |
| 137 | predicate: &Arc<dyn PhysicalExpr>, |
| 138 | ) -> Vec<&Arc<dyn PhysicalExpr>> { |
| 139 | split_impl(Operator::Or, predicate, vec![]) |
| 140 | } |
| 141 | |
| 142 | fn split_impl<'a>( |
| 143 | operator: Operator, |
no test coverage detected
searching dependent graphs…