fn pop_stack_and_validate(&mut self, op: &Operator) -> DataFusionResult<()> {
        let self_state = self.op_stack.pop().ok_or_else(|| {
            DataFusionError::Plan("Internal error: _field operator stack mismatch".into())
        })?;

        assert!(self_state.operator == *op);

        let field_ref_state = self_state.validate()?;

        // Add our state to our parent, if any. No parent means this
        // is the root expr)
        let parent_state = match self.op_stack.last_mut() {
            Some(parent_state) => parent_state,
            None => return Ok(()),
        };

        // Remeber our state on parent so it can combine on the way up
        parent_state.child_states.push(field_ref_state);
        Ok(())
    }
/// Pops an operator from the op stack after validating that the
/// stack does not contain an invalid pattern
Pops an operator from the op stack after validating that the
stack does not contain an invalid pattern
Pops an operator from the op stack after validating that the stack does not contain an invalid pattern
fn pop_stack_and_validate(&mut self, op: &Operator) -> DataFusionResult<()> {
        let self_state = self.op_stack.pop().ok_or_else(|| {
            DataFusionError::Plan("Internal error: _field operator stack mismatch".into())
        })?;
        assert!(self_state.operator == *op);
        let field_ref_state = self_state.validate()?;
        // Add our state to our parent, if any. No parent means this
        // is the root expr)
        let parent_state = match self.op_stack.last_mut() {
            Some(parent_state) => parent_state,
            None => return Ok(()),
        };
        // Remeber our state on parent so it can combine on the way up
        parent_state.child_states.push(field_ref_state);
        Ok(())
    }
fn pop_stack_and_validate ( & mut self , op : & Operator ) -> DataFusionResult < ( ) > { let self_state = self . op_stack . pop ( ) . ok_or_else ( | | { DataFusionError :: Plan ( " " . into ( ) ) } ) ? ; assert ! ( self_state operator op ) ; let field_ref_state = self_state . validate ( ) ? ; // Add our state to our parent, if any. No parent means this // is the root expr) let parent_state = match self . op_stack . last_mut ( ) { Some ( parent_state ) => parent_state , None => return Ok ( ( ) ) , } ; // Remeber our state on parent so it can combine on the way up parent_state . child_states . push ( field_ref_state ) ; Ok ( ( ) ) }
Pops an operator from the op stack after validating that the
stack does not contain an invalid pattern
Pops an operator from the op stack after validating that the stack does not contain an invalid pattern
&mut self
op
&Operator
&mut self
op
&Operator