[bug](decimal) change result type for decimalv2 computation (#22366)
This commit is contained in:
@ -30,6 +30,7 @@ import org.apache.doris.catalog.Type;
|
||||
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 @@ public class ArithmeticExpr extends Expr {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user