[fix](nereids) fix wrong result precision for add/sub (#25751)

This commit is contained in:
TengJianPing
2023-10-26 21:28:34 +08:00
committed by GitHub
parent 9faa6e083b
commit 1e39636fbf
3 changed files with 8 additions and 4 deletions

View File

@ -727,12 +727,12 @@ public class TypeCoercionUtilsTest {
new DecimalV3Literal(new BigDecimal("123.45")));
expression = TypeCoercionUtils.processBinaryArithmetic(add);
Assertions.assertEquals(expression.child(0),
new Cast(multiply.child(0), DecimalV3Type.createDecimalV3Type(9, 3)));
new Cast(multiply.child(0), DecimalV3Type.createDecimalV3Type(10, 3)));
Subtract sub = new Subtract(new DecimalLiteral(new BigDecimal("987654.321")),
new DecimalV3Literal(new BigDecimal("123.45")));
expression = TypeCoercionUtils.processBinaryArithmetic(sub);
Assertions.assertEquals(expression.child(0),
new Cast(multiply.child(0), DecimalV3Type.createDecimalV3Type(9, 3)));
new Cast(multiply.child(0), DecimalV3Type.createDecimalV3Type(10, 3)));
}
}