From 182d1805e4696a1d5d77d11e02241eb65f82bd50 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Tue, 10 Apr 2018 10:03:59 +0200 Subject: [PATCH] [#4930] [#5239] [#7402] Regression on Oracle DATE IN OUT parameters --- .../java/org/jooq/impl/DefaultBinding.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index e34fbbd46c..1a57f1f81f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -99,6 +99,7 @@ import java.math.BigInteger; import java.sql.Array; import java.sql.Blob; import java.sql.Clob; +import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -115,10 +116,12 @@ import java.time.OffsetTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; import java.util.EnumSet; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TimeZone; import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -159,6 +162,7 @@ import org.jooq.tools.StringUtils; import org.jooq.tools.jdbc.JDBCUtils; import org.jooq.tools.jdbc.MockArray; import org.jooq.tools.jdbc.MockResultSet; +import org.jooq.tools.reflect.Reflect; import org.jooq.types.DayToSecond; import org.jooq.types.Interval; import org.jooq.types.UByte; @@ -1957,6 +1961,13 @@ public class DefaultBinding implements Binding { @Override final int sqltype(Configuration configuration) { + + + + + + + return Types.DATE; } } @@ -2434,6 +2445,11 @@ public class DefaultBinding implements Binding { @Override final void set0(BindingSetStatementContext ctx, OffsetDateTime value) throws SQLException { + + + + + ctx.statement().setString(ctx.index(), format(value)); } @@ -2462,10 +2478,33 @@ public class DefaultBinding implements Binding { @Override final int sqltype(Configuration configuration) { + + + + + + + + // [#5779] Few JDBC drivers support the JDBC 4.2 TIME[STAMP]_WITH_TIMEZONE types. return Types.VARCHAR; } + + + + + + + + + + + + + + + private static final String format(OffsetDateTime val) { // Remove the ISO standard T character, as some databases don't like that @@ -2543,6 +2582,14 @@ public class DefaultBinding implements Binding { @Override final int sqltype(Configuration configuration) { + + + + + + + + // [#5779] Few JDBC drivers support the JDBC 4.2 TIME[STAMP]_WITH_TIMEZONE types. return Types.VARCHAR; }