diff --git a/src/java/arjdbc/jdbc/RubyJdbcConnection.java b/src/java/arjdbc/jdbc/RubyJdbcConnection.java index f702461af..07bdc6941 100644 --- a/src/java/arjdbc/jdbc/RubyJdbcConnection.java +++ b/src/java/arjdbc/jdbc/RubyJdbcConnection.java @@ -2712,7 +2712,7 @@ else if ( value instanceof RubyNumeric ) { } else { // e.g. `BigDecimal '42.00000000000000000001'` statement.setBigDecimal(index, - RubyBigDecimal.newInstance(context, context.runtime.getModule("BigDecimal"), value).getValue()); + RubyBigDecimal.newInstance(context, context.runtime.getModule("BigDecimal"), value, RubyFixnum.newFixnum(context.runtime, Integer.MAX_VALUE)).getValue()); } } diff --git a/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java b/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java index 4e14a9156..1d88ebea2 100644 --- a/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +++ b/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java @@ -478,7 +478,7 @@ else if ( value instanceof RubyNumeric ) { statement.setDouble(index, ((RubyNumeric) value).getDoubleValue()); } else { // e.g. `BigDecimal '42.00000000000000000001'` - RubyBigDecimal val = RubyBigDecimal.newInstance(context, context.runtime.getModule("BigDecimal"), value); + RubyBigDecimal val = RubyBigDecimal.newInstance(context, context.runtime.getModule("BigDecimal"), value, RubyFixnum.newFixnum(context.runtime, Integer.MAX_VALUE)); statement.setString(index, val.getValue().toString()); } }