protected void addToSelectList ( List < SqlNode > list , Set < String > aliases , List < Map . Entry < String , RelDataType > > fieldList , SqlNode exp , SqlValidatorScope scope , final boolean includeSystemVars ) { String alias = SqlValidatorUtil . getAlias ( exp , - 1 ) ; String uniqueAlias = SqlValidatorUtil . uniquify ( alias , aliases , SqlValidatorUtil . EXPR_SUGGESTER ) ; if ( ! alias . equals ( uniqueAlias ) ) { exp = SqlValidatorUtil . addAlias ( exp , uniqueAlias ) ; } fieldList . add ( Pair . of ( uniqueAlias , deriveType ( scope , exp ) ) ) ; list . add ( exp ) ; }
Adds an expression to a select list ensuring that its alias does not clash with any existing expressions on the list .