File tree Expand file tree Collapse file tree 1 file changed +14
-3
lines changed
hbt/src/main/java/io/mycat/calcite Expand file tree Collapse file tree 1 file changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -336,9 +336,20 @@ public Result visit(Project e) {
336336 addSelect (selectList , sqlExpr , e .getRowType ());
337337 index ++;
338338 }
339- for (Integer dupColumnPo : dupColumnPos ) {
340- String alias = e .getRowType ().getFieldList ().get (dupColumnPo ).getName () + "_" + dupColumnPo ;
341- selectList .set (dupColumnPo ,as (SqlLiteral .createNull (SqlParserPos .ZERO ),alias ));
339+ for (Integer dupColumnIndex : dupColumnPos ) {
340+ String alias = e .getRowType ().getFieldList ().get (dupColumnIndex ).getName () + "_" + dupColumnIndex ;
341+
342+ SqlNode sqlNode = selectList .get (dupColumnIndex );
343+
344+ if (sqlNode instanceof SqlCall ){
345+ SqlCall sqlCall = ((SqlCall ) sqlNode );
346+ if (sqlCall .getOperator ().kind == SqlKind .AS ){
347+ SqlNode argNode = sqlCall .getOperandList ().get (0 );
348+ selectList .set (dupColumnIndex ,as (argNode ,alias ));
349+ continue ;//退出
350+ }
351+ }
352+ selectList .set (dupColumnIndex ,as (sqlNode ,alias ));
342353 }
343354
344355 builder .setSelect (new SqlNodeList (selectList , POS ));
You can’t perform that action at this time.
0 commit comments