protected void findAllExpressionsOfClass ( Class < ? extends AbstractExpression > aeClass , Set < AbstractExpression > collected ) { // Check the inlined plan nodes for ( AbstractPlanNode inlineNode : getInlinePlanNodes ( ) . values ( ) ) { // For inline node we MUST go recursive to its children!!!!! inlineNode . findAllExpressionsOfClass ( aeClass , collected ) ; } // and the output column expressions if there were no projection NodeSchema schema = getOutputSchema ( ) ; if ( schema != null ) { schema . addAllSubexpressionsOfClassFromNodeSchema ( collected , aeClass ) ; } }
Collect a unique list of expressions of a given type that this node has including its inlined nodes