From 68e58ee04909a4cf77858ae0ee5cfb304ddf9ec8 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Wed, 1 Jun 2016 15:47:34 +0200 Subject: [PATCH] [#5323] Wrong precision generated in automatic CAST for DB2 and other databases --- jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 9f8003035c..95d4b64dda 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -351,12 +351,11 @@ public class DefaultBinding implements Binding { // Add precision / scale on BigDecimals int scale = ((BigDecimal) converted).scale(); - int precision = scale + ((BigDecimal) converted).precision(); + int precision = ((BigDecimal) converted).precision(); - // Firebird's max precision is 18 - if (family == FIREBIRD) { - precision = Math.min(precision, 18); - } + // [#5323] BigDecimal precision is always 1 for BigDecimals smaller than 1.0 + if (scale >= precision) + precision = scale + 1; toSQLCast(ctx, converted, dataType, 0, precision, scale); }