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

Function split_conjunction

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

Assume the predicate is in the form of CNF, split the predicate to a Vec of PhysicalExprs. For example, split "a1 = a2 AND b1 <= b2 AND c1 != c2" into ["a1 = a2", "b1 <= b2", "c1 != c2"]

(
    predicate: &Arc<dyn PhysicalExpr>,
)

Source from the content-addressed store, hash-verified

41///
42/// For example, split "a1 = a2 AND b1 <= b2 AND c1 != c2" into ["a1 = a2", "b1 <= b2", "c1 != c2"]
43pub fn split_conjunction(
44 predicate: &Arc<dyn PhysicalExpr>,
45) -> Vec<&Arc<dyn PhysicalExpr>> {
46 split_impl(Operator::And, predicate, vec![])
47}
48
49impl ConstExpr {
50 /// Collects predicate-derived constants from equality conjunctions.

Callers 5

analyzeMethod · 0.70
collect_equality_columnsFunction · 0.50

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…