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

Function split_binary_owned_impl

datafusion/expr/src/utils.rs:1134–1152  ·  view source on GitHub ↗
(
    expr: Expr,
    operator: Operator,
    mut exprs: Vec<Expr>,
)

Source from the content-addressed store, hash-verified

1132}
1133
1134fn split_binary_owned_impl(
1135 expr: Expr,
1136 operator: Operator,
1137 mut exprs: Vec<Expr>,
1138) -> Vec<Expr> {
1139 match expr {
1140 Expr::BinaryExpr(BinaryExpr { right, op, left }) if op == operator => {
1141 let exprs = split_binary_owned_impl(*left, operator, exprs);
1142 split_binary_owned_impl(*right, operator, exprs)
1143 }
1144 Expr::Alias(Alias { expr, .. }) => {
1145 split_binary_owned_impl(*expr, operator, exprs)
1146 }
1147 other => {
1148 exprs.push(other);
1149 exprs
1150 }
1151 }
1152}
1153
1154/// Splits an binary operator tree [`Expr`] such as `A <OP> B <OP> C` => `[A, B, C]`
1155///

Callers 1

split_binary_ownedFunction · 0.85

Calls 1

pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…