diff --git a/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java b/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java index 4249c93e0..dfd2963c4 100644 --- a/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java +++ b/src/java/arjdbc/postgresql/PostgreSQLRubyJdbcConnection.java @@ -366,8 +366,14 @@ protected void setDateParameter(final ThreadContext context, value = value.callMethod(context, "to_date"); } - // NOTE: assuming Date#to_s does right ... - statement.setDate(index, Date.valueOf(value.toString())); + int year = RubyNumeric.num2int(value.callMethod(context, "year")); + int month = RubyNumeric.num2int(value.callMethod(context, "month")); + int day = RubyNumeric.num2int(value.callMethod(context, "day")); + + @SuppressWarnings("deprecated") + Date date = new Date(year - 1900, month - 1, day); + + statement.setDate(index, date); } @Override