/// Invoked before any children of `expr` are visisted.
Invoked before any children of `expr` are visisted.
Invoked before any children of ` expr ` are visisted .
fn pre_visit(mut self, expr: &Expr) -> DataFusionResult<Recursion<Self>> {
        // Now check for = and != compatibility
        let is_field_ref = match check_binary(expr) {
            Some((Operator::Eq, _name)) => {
                self.seen_eq = true;
                self.validate_operators()?;
                true
            }
            Some((Operator::NotEq, _name)) => {
                self.seen_not_eq = true;
                self.validate_operators()?;
                true
            }
            _ => false,
        };
        if let Expr::BinaryExpr {
            left: _,
            op,
            right: _,
        } = expr
        {
            self.op_stack.push(OpState {
                operator: *op,
                is_field_ref,
                child_states: vec![],
            })
        }
        Ok(Recursion::Continue(self))
    }
fn pre_visit ( mut self , expr : & Expr ) -> DataFusionResult < Recursion < Self > > { // Now check for = and != compatibility let is_field_ref = match check_binary ( expr ) { Some ( ( Operator :: Eq , _name ) ) => { self . seen_eq = true ; self . validate_operators ( ) ? ; true } Some ( ( Operator :: NotEq , _name ) ) => { self . seen_not_eq = true ; self . validate_operators ( ) ? ; true } _ => false , } ; if let Expr :: BinaryExpr { left : _ , op , right : _ , } = expr { self . op_stack . push ( OpState { operator : * op , is_field_ref , child_states : vec ! [ ] , } ) } Ok ( Recursion :: Continue ( self ) ) }
Invoked before any children of `expr` are visisted.
Invoked before any children of ` expr ` are visisted .
mut self
expr
&Expr