From e066e6f5a7ad815d704a5e94da1ec3fe89f662ce Mon Sep 17 00:00:00 2001 From: Gabriel Date: Sat, 29 Jul 2023 23:12:34 +0800 Subject: [PATCH] [bug](decimal) test --- .../main/java/org/apache/doris/analysis/ArithmeticExpr.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ArithmeticExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ArithmeticExpr.java index 176a55fb0212b6..42484c5e31f58b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ArithmeticExpr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ArithmeticExpr.java @@ -30,6 +30,7 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.io.Text; +import org.apache.doris.qe.ConnectContext; import org.apache.doris.thrift.TExprNode; import org.apache.doris.thrift.TExprNodeType; import org.apache.doris.thrift.TExprOpcode; @@ -312,6 +313,8 @@ private Type findCommonType(Type t1, Type t2) { return Type.DOUBLE; } else if (pt1 == PrimitiveType.DECIMALV2 || pt2 == PrimitiveType.DECIMALV2) { return pt1 == PrimitiveType.DECIMALV2 && pt2 == PrimitiveType.DECIMALV2 + || (ConnectContext.get() != null + && ConnectContext.get().getSessionVariable().roundPreciseDecimalV2Value) ? Type.MAX_DECIMALV2_TYPE : Type.DOUBLE; } else if (pt1 == PrimitiveType.DECIMAL32 || pt2 == PrimitiveType.DECIMAL32) { return pt1 == PrimitiveType.DECIMAL32 && pt2 == PrimitiveType.DECIMAL32 ? Type.DECIMAL32 : Type.DOUBLE;