MCPcopy Create free account
hub / github.com/apache/datafusion / split_disjunction

Function split_disjunction

datafusion/physical-expr/src/utils/mod.rs:136–140  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

134///
135/// For example, split "a1 = a2 OR b1 <= b2 OR c1 != c2" into ["a1 = a2", "b1 <= b2", "c1 != c2"]
136pub fn split_disjunction(
137 predicate: &Arc<dyn PhysicalExpr>,
138) -> Vec<&Arc<dyn PhysicalExpr>> {
139 split_impl(Operator::Or, predicate, vec![])
140}
141
142fn split_impl<'a>(
143 operator: Operator,

Callers 1

analyzeMethod · 0.85

Calls 1

split_implFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…