This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit f1f5e972837c6664e71fc255342698885ef6b366
Author: morrySnow <[email protected]>
AuthorDate: Mon Oct 9 14:39:09 2023 +0800

    [fix](Nereids) miss BoolLiteral when convert literal to Nereids' one 
(#25159)
---
 .../nereids/trees/expressions/literal/Literal.java      | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/Literal.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/Literal.java
index 605f236ef7a..2a40d979be6 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/Literal.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/Literal.java
@@ -17,6 +17,7 @@
 
 package org.apache.doris.nereids.trees.expressions.literal;
 
+import org.apache.doris.analysis.BoolLiteral;
 import org.apache.doris.analysis.LiteralExpr;
 import org.apache.doris.catalog.Type;
 import org.apache.doris.common.Config;
@@ -245,14 +246,16 @@ public abstract class Literal extends Expression 
implements LeafExpression, Comp
             return new MaxLiteral(dataType);
         }
         String stringValue = literalExpr.getStringValue();
-        if (dataType.isTinyIntType()) {
-            return new TinyIntLiteral(Byte.valueOf(stringValue).byteValue());
+        if (dataType.isBooleanType()) {
+            return ((BoolLiteral) literalExpr).getValue() ? 
BooleanLiteral.TRUE : BooleanLiteral.FALSE;
+        } else if (dataType.isTinyIntType()) {
+            return new TinyIntLiteral(Byte.parseByte(stringValue));
         } else if (dataType.isSmallIntType()) {
-            return new 
SmallIntLiteral(Short.valueOf(stringValue).shortValue());
+            return new SmallIntLiteral(Short.parseShort(stringValue));
         } else if (dataType.isIntegerType()) {
-            return new IntegerLiteral(Integer.valueOf(stringValue).intValue());
+            return new IntegerLiteral(Integer.parseInt(stringValue));
         } else if (dataType.isBigIntType()) {
-            return new BigIntLiteral(Long.valueOf(stringValue).longValue());
+            return new BigIntLiteral(Long.parseLong(stringValue));
         } else if (dataType.isLargeIntType()) {
             return new LargeIntLiteral(new BigInteger(stringValue));
         } else if (dataType.isStringType()) {
@@ -262,9 +265,9 @@ public abstract class Literal extends Expression implements 
LeafExpression, Comp
         } else if (dataType.isVarcharType()) {
             return new VarcharLiteral(stringValue, ((VarcharType) 
dataType).getLen());
         } else if (dataType.isFloatType()) {
-            return new FloatLiteral(Float.valueOf(stringValue));
+            return new FloatLiteral(Float.parseFloat(stringValue));
         } else if (dataType.isDoubleType()) {
-            return new DoubleLiteral(Double.valueOf(stringValue));
+            return new DoubleLiteral(Double.parseDouble(stringValue));
         } else if (dataType.isDecimalV2Type()) {
             return new DecimalLiteral((DecimalV2Type) dataType, new 
BigDecimal(stringValue));
         } else if (dataType.isDecimalV3Type()) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to