From 1a27ac8d5668c502f330704591755f50516cc82c Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Mon, 16 Oct 2023 15:03:33 +0800 Subject: [PATCH] [opt] use correct column label when execute query in FE (#25372) SET @a = '4'; SELECT @a; previous: +-----+ | '4' | +-----+ | 4 | +-----+ current: +----+ | @a | +----+ | 4 | +----+ --- .../java/org/apache/doris/catalog/BuiltinScalarFunctions.java | 2 +- .../main/java/org/apache/doris/nereids/NereidsPlanner.java | 3 ++- .../trees/expressions/functions/scalar/CurrentUser.java | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java index 5035bcebc7..9bfad13a09 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java @@ -510,7 +510,7 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(CurrentDate.class, "curdate", "current_date"), scalar(CurrentTime.class, "curtime", "current_time"), scalar(CurrentUser.class, "current_user"), - scalar(Database.class, "database"), + scalar(Database.class, "database", "schema"), scalar(Date.class, "date"), scalar(DateDiff.class, "datediff"), scalar(DateFormat.class, "date_format"), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java index 41d532f769..7553817867 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java @@ -450,10 +450,11 @@ public class NereidsPlanner extends Planner { List data = Lists.newArrayList(); for (int i = 0; i < physicalOneRowRelation.getProjects().size(); i++) { NamedExpression item = physicalOneRowRelation.getProjects().get(i); + NamedExpression output = physicalPlan.getOutput().get(i); Expression expr = item.child(0); if (expr instanceof Literal) { LiteralExpr legacyExpr = ((Literal) expr).toLegacyLiteral(); - columns.add(new Column(item.getName(), item.getDataType().toCatalogDataType())); + columns.add(new Column(output.getName(), output.getDataType().toCatalogDataType())); super.handleLiteralInFe(legacyExpr, data); } else { return Optional.empty(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentUser.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentUser.java index ec78468978..f36e4548eb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentUser.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentUser.java @@ -22,7 +22,7 @@ import org.apache.doris.nereids.trees.expressions.functions.AlwaysNotNullable; import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; import org.apache.doris.nereids.trees.expressions.shape.LeafExpression; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; -import org.apache.doris.nereids.types.BigIntType; +import org.apache.doris.nereids.types.StringType; import com.google.common.collect.ImmutableList; @@ -35,7 +35,7 @@ public class CurrentUser extends ScalarFunction implements LeafExpression, ExplicitlyCastableSignature, AlwaysNotNullable { public static final List SIGNATURES = ImmutableList.of( - FunctionSignature.ret(BigIntType.INSTANCE).args() + FunctionSignature.ret(StringType.INSTANCE).args() ); public CurrentUser() {