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]
