mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-14 22:25:19 +00:00
(improvement)(semantic) If the field of the "AS" statement is equal to the alias, then do not replace the alias (#304)
This commit is contained in:
@@ -15,7 +15,11 @@ public class FunctionAliasReplaceVisitor extends SelectItemVisitorAdapter {
|
||||
public void visit(SelectExpressionItem selectExpressionItem) {
|
||||
if (selectExpressionItem.getExpression() instanceof Function) {
|
||||
Function function = (Function) selectExpressionItem.getExpression();
|
||||
if (Objects.nonNull(selectExpressionItem.getAlias())) {
|
||||
String columnName = SqlParserSelectHelper.getColumnName(function);
|
||||
//1.exist alias. as
|
||||
//2.alias's fieldName not equal. "sum(pv) as pv" cannot be replaced.
|
||||
if (Objects.nonNull(selectExpressionItem.getAlias()) && !selectExpressionItem.getAlias().getName()
|
||||
.equalsIgnoreCase(columnName)) {
|
||||
aliasToActualExpression.put(selectExpressionItem.getAlias().getName(), function.toString());
|
||||
selectExpressionItem.setAlias(null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user