private void findAllTVEs ( AbstractExpression expr , List < TupleValueExpression > tveList ) { if ( ! isNewtoColumnList ( m_aggResultColumns , expr ) ) { return ; } if ( expr instanceof TupleValueExpression ) { tveList . add ( ( TupleValueExpression ) expr . clone ( ) ) ; return ; } if ( expr . getLeft ( ) != null ) { findAllTVEs ( expr . getLeft ( ) , tveList ) ; } if ( expr . getRight ( ) != null ) { findAllTVEs ( expr . getRight ( ) , tveList ) ; } if ( expr . getArgs ( ) != null ) { for ( AbstractExpression ae : expr . getArgs ( ) ) { findAllTVEs ( ae , tveList ) ; } } }
Find all TVEs except inside of AggregationExpression