DBZ-8027 updated type "money" fallback value creating.

The fallback value is now been created in accordance with decimalMode set in the connector configuration. So it always fits the scheme.
This commit is contained in:
Sergei Kazakov 2024-07-08 09:47:09 +03:00 committed by Jiri Pechanec
parent 945fa86925
commit 02a6edeb7e

View File

@ -866,7 +866,9 @@ protected Object convertBits(Column column, Field fieldDefn, Object data, int nu
}
protected Object convertMoney(Column column, Field fieldDefn, Object data, DecimalMode mode) {
return convertValue(column, fieldDefn, data, BigDecimal.ZERO.setScale(moneyFractionDigits), (r) -> {
var fallback = decimalMode.equals(decimalMode.STRING) ? BigDecimal.ZERO.setScale(moneyFractionDigits).toString()
: decimalMode.equals(decimalMode.DOUBLE) ? BigDecimal.ZERO.setScale(moneyFractionDigits).doubleValue() : BigDecimal.ZERO.setScale(moneyFractionDigits);
return convertValue(column, fieldDefn, data, fallback, (r) -> {
switch (mode) {
case DOUBLE:
if (data instanceof BigDecimal) {