diff --git a/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties b/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties index baa8bff7e08e69e701bd1661bb4f358eae03be53..a7e659e4c3294d532d6b9a480c6015a8642239c7 100644 --- a/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties +++ b/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties @@ -334,6 +334,8 @@ DateFormatter.number.general.maxFractDigits.label=Maximum fraction digits DateFormatter.number.general.maxFractDigits.description=Maximum fraction digits DateFormatter.number.general.minFractDigits.label=Minimum fraction digits DateFormatter.number.general.minFractDigits.description=Minimum fraction digits +DateFormatter.number.general.useTypeScale.label=Use data type scale for fraction digits +DateFormatter.number.general.useTypeScale.description=Use column/attribute data type scale as minimum fraction digits number DateFormatter.number.general.roundingMode.label=Rounding mode DateFormatter.number.general.roundingMode.description=Rounding mode diff --git a/plugins/org.jkiss.dbeaver.core/plugin.xml b/plugins/org.jkiss.dbeaver.core/plugin.xml index 2805575690c8a8498330b6294bb028521299ff70..6b3183ef231cf5bcaece7bed8b539b828a34f2e9 100644 --- a/plugins/org.jkiss.dbeaver.core/plugin.xml +++ b/plugins/org.jkiss.dbeaver.core/plugin.xml @@ -3356,6 +3356,7 @@ + diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberDataFormatter.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberDataFormatter.java index 5e2461334b7faa1c67e1ea2b8b3bf837cbf873c8..814d63e308a29105b3151241d5c771f0323fbb42 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberDataFormatter.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberDataFormatter.java @@ -71,7 +71,8 @@ public class NumberDataFormatter implements DBDDataFormatter { // just skip it } } - if (type != null) { + Object useTypeScale = CommonUtils.toString(properties.get(NumberFormatSample.PROP_USE_TYPE_SCALE)); + if (type != null && CommonUtils.toBoolean(useTypeScale)) { if (type.getScale() != null && type.getScale() > 0) { int fractionDigits = type.getScale(); if (fractionDigits > MAX_DEFAULT_FRACTIONS_DIGITS) fractionDigits = MAX_DEFAULT_FRACTIONS_DIGITS; diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberFormatSample.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberFormatSample.java index 0f1bb3bd811c6b787ea004a1012d440bf8fa15d6..7290f2065beadcf47f5c1f17f508b577e764f41e 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberFormatSample.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/data/formatters/NumberFormatSample.java @@ -30,6 +30,7 @@ public class NumberFormatSample implements DBDDataFormatterSample { public static final String PROP_MIN_INT_DIGITS ="minIntegerDigits"; public static final String PROP_MAX_FRACT_DIGITS ="maxFractionDigits"; public static final String PROP_MIN_FRACT_DIGITS ="minFractionDigits"; + public static final String PROP_USE_TYPE_SCALE ="useTypeScale"; public static final String PROP_ROUNDING_MODE ="roundingMode"; @Override @@ -42,6 +43,7 @@ public class NumberFormatSample implements DBDDataFormatterSample { props.put(PROP_MIN_INT_DIGITS, tmp.getMinimumIntegerDigits()); props.put(PROP_MAX_FRACT_DIGITS, Math.max(tmp.getMaximumFractionDigits(), 10)); props.put(PROP_MIN_FRACT_DIGITS, tmp.getMinimumFractionDigits()); + props.put(PROP_USE_TYPE_SCALE, true); props.put(PROP_ROUNDING_MODE, tmp.getRoundingMode().name()); return props; }