@@ -306,6 +306,16 @@ private void replaceFieldName(SqlNode sqlNode, HashBasedTable<String, String, St
306306 throw new RuntimeException ("---not deal type:" + sqlNode );
307307 }
308308
309+ break ;
310+ case UNION :
311+ SqlNode unionLeft = ((SqlBasicCall ) sqlNode ).getOperands ()[0 ];
312+
313+ SqlNode unionRight = ((SqlBasicCall ) sqlNode ).getOperands ()[1 ];
314+
315+ replaceFieldName (unionLeft , mappingTable , targetTableName , tableAlias );
316+
317+ replaceFieldName (unionRight , mappingTable , targetTableName , tableAlias );
318+
309319 break ;
310320 default :
311321 break ;
@@ -439,39 +449,33 @@ private SqlNode replaceSelectFieldName(SqlNode selectNode, HashBasedTable<String
439449 return sqlIdentifier ;
440450 }else if (selectNode .getKind () == LITERAL || selectNode .getKind () == LITERAL_CHAIN ){//字面含义
441451 return selectNode ;
442- }else if (selectNode .getKind () == OTHER_FUNCTION
452+ }else if ( AGGREGATE .contains (selectNode .getKind ())
453+ || AVG_AGG_FUNCTIONS .contains (selectNode .getKind ())
454+ || COMPARISON .contains (selectNode .getKind ())
455+ || selectNode .getKind () == OTHER_FUNCTION
443456 || selectNode .getKind () == DIVIDE
444457 || selectNode .getKind () == CAST
445- || selectNode .getKind () == SUM
446- || selectNode .getKind () == AVG
447- || selectNode .getKind () == MAX
448- || selectNode .getKind () == MIN
449458 || selectNode .getKind () == TRIM
450459 || selectNode .getKind () == TIMES
451460 || selectNode .getKind () == PLUS
452- || selectNode .getKind () == IN
461+ || selectNode .getKind () == NOT_IN
453462 || selectNode .getKind () == OR
454463 || selectNode .getKind () == AND
455- || selectNode .getKind () == COUNT
456- || selectNode .getKind () == SUM0
457- || selectNode .getKind () == LEAD
458- || selectNode .getKind () == LAG
459- || selectNode .getKind () == EQUALS
460- || selectNode .getKind () == NOT_EQUALS
461464 || selectNode .getKind () == MINUS
462465 || selectNode .getKind () == TUMBLE
463466 || selectNode .getKind () == TUMBLE_START
464467 || selectNode .getKind () == TUMBLE_END
465468 || selectNode .getKind () == SESSION
466469 || selectNode .getKind () == SESSION_START
467470 || selectNode .getKind () == SESSION_END
471+ || selectNode .getKind () == HOP
472+ || selectNode .getKind () == HOP_START
473+ || selectNode .getKind () == HOP_END
468474 || selectNode .getKind () == BETWEEN
469475 || selectNode .getKind () == IS_NULL
470476 || selectNode .getKind () == IS_NOT_NULL
471- || selectNode .getKind () == LESS_THAN
472- || selectNode .getKind () == GREATER_THAN
473- || selectNode .getKind () == LESS_THAN_OR_EQUAL
474- || selectNode .getKind () == GREATER_THAN_OR_EQUAL
477+ || selectNode .getKind () == CONTAINS
478+
475479 ){
476480 SqlBasicCall sqlBasicCall = (SqlBasicCall ) selectNode ;
477481 for (int i =0 ; i <sqlBasicCall .getOperands ().length ; i ++){
0 commit comments