fn split_acc_projections(
        &self,
        acc_projections: Vec<Expr>,
        down_schema: &Schema,
    ) -> (Vec<Expr>, Vec<Expr>) {
        // If node above has as many columns as the projection there is nothing to pushdown.
        if down_schema.fields().len() == acc_projections.len() {
            let local_projections = acc_projections;
            (vec![], local_projections)
        } else {
            let (acc_projections, local_projections) = acc_projections
                .into_iter()
                .partition(|expr| check_down_node(expr, down_schema));
            (acc_projections, local_projections)
        }
    }
// split in a projection vec that can be pushed down and a projection vec that should be used
// in this node
split in a projection vec that can be pushed down and a projection vec that should be used
in this node
split in a projection vec that can be pushed down and a projection vec that should be used in this node
fn split_acc_projections(
        &self,
        acc_projections: Vec<Expr>,
        down_schema: &Schema,
    ) -> (Vec<Expr>, Vec<Expr>) {
        // If node above has as many columns as the projection there is nothing to pushdown.
        if down_schema.fields().len() == acc_projections.len() {
            let local_projections = acc_projections;
            (vec![], local_projections)
        } else {
            let (acc_projections, local_projections) = acc_projections
                .into_iter()
                .partition(|expr| check_down_node(expr, down_schema));
            (acc_projections, local_projections)
        }
    }
fn split_acc_projections ( & self , acc_projections : Vec < Expr > , down_schema : & Schema , ) -> ( Vec < Expr > , Vec < Expr > ) { // If node above has as many columns as the projection there is nothing to pushdown. if down_schema . fields ( ) . len ( ) == acc_projections . len ( ) { let local_projections = acc_projections ; ( vec ! [ ] , local_projections ) } else { let ( acc_projections , local_projections ) = acc_projections . into_iter ( ) . partition ( | expr | check_down_node ( expr , down_schema ) ) ; ( acc_projections , local_projections ) } }
split in a projection vec that can be pushed down and a projection vec that should be used
in this node
split in a projection vec that can be pushed down and a projection vec that should be used in this node
&self
acc_projections
Vec<Expr>
down_schema
&Schema
&self
acc_projections
Vec<Expr>
down_schema
&Schema