From 9e8e1dac4e72b321efdf25f5be71731d122f2091 Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Fri, 13 Sep 2024 19:59:12 +0800 Subject: [PATCH] [branch-2.1][fix](default value) Avoid default precision value of 0 for default expressions during deserialization (#40806) pick (#40671) This PR fixes the issue where the precision of default value expressions was incorrectly set to `0` during deserialization. The `gsonPostProcess` method no longer assigns a default precision of `0` if the precision is not provided. Additionally, logic has been added to ensure that expressions without precision do not incorrectly apply a precision of `0`. --- .../java/org/apache/doris/analysis/DefaultValueExprDef.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java index 30ab756bb5..44bc766ee4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java @@ -64,7 +64,7 @@ public class DefaultValueExprDef implements Writable, GsonPostProcessable { */ public FunctionCallExpr getExpr(Type type) { List exprs = null; - if (precision != null) { + if (precision != null && precision != 0) { exprs = Lists.newArrayList(); exprs.add(new IntLiteral(precision)); } @@ -101,8 +101,6 @@ public class DefaultValueExprDef implements Writable, GsonPostProcessable { @Override public void gsonPostProcess() throws IOException { - if (precision == null) { - precision = 0L; - } + // nothing to do } }