diff --git a/jOOQ/pom.xml b/jOOQ/pom.xml index c266aee342..eabdc3ec9d 100644 --- a/jOOQ/pom.xml +++ b/jOOQ/pom.xml @@ -104,6 +104,18 @@ jaxb-api + + org.postgresql + postgresql + provided + true + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/BlobBinding.java b/jOOQ/src/main/java/org/jooq/impl/BlobBinding.java index d48523d458..1aa5c469f2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BlobBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/BlobBinding.java @@ -58,6 +58,8 @@ import org.jooq.Converter; import org.jooq.Converters; import org.jooq.tools.jdbc.JDBCUtils; +// ... + /** * A binding that takes binary values but binds them as {@link Blob} to at the * JDBC level. @@ -148,8 +150,6 @@ public class BlobBinding implements Binding { - - default: { blob = localConnection().createBlob(); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/ClobBinding.java b/jOOQ/src/main/java/org/jooq/impl/ClobBinding.java index 1f0d9047fc..6d734d9178 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ClobBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/ClobBinding.java @@ -58,6 +58,8 @@ import org.jooq.Converter; import org.jooq.Converters; import org.jooq.tools.jdbc.JDBCUtils; +// ... + /** * A binding that takes binary values but binds them as {@link Clob} to at the * JDBC level. @@ -148,8 +150,6 @@ public class ClobBinding implements Binding { - - default: { clob = localConnection().createClob(); break; diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java index 94a1f1d81d..270bab114a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultBinding.java @@ -74,21 +74,17 @@ import static org.jooq.SQLDialect.SQLITE; // ... // ... // ... - import static org.jooq.conf.ParamType.INLINED; import static org.jooq.impl.DSL.cast; import static org.jooq.impl.DSL.field; import static org.jooq.impl.DSL.inline; import static org.jooq.impl.DSL.log; import static org.jooq.impl.DSL.name; -import static org.jooq.impl.DSL.power; -import static org.jooq.impl.DSL.sqrt; import static org.jooq.impl.DSL.using; import static org.jooq.impl.DefaultBinding.DefaultDoubleBinding.REQUIRES_LITERAL_CAST; import static org.jooq.impl.DefaultBinding.DefaultDoubleBinding.infinity; import static org.jooq.impl.DefaultBinding.DefaultDoubleBinding.nan; import static org.jooq.impl.DefaultExecuteContext.localTargetConnection; -import static org.jooq.impl.DefaultExecuteContext.targetPreparedStatement; import static org.jooq.impl.Keywords.K_ARRAY; import static org.jooq.impl.Keywords.K_AS; import static org.jooq.impl.Keywords.K_BLOB; @@ -223,6 +219,7 @@ 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.tools.reflect.ReflectException; import org.jooq.types.DayToSecond; import org.jooq.types.UByte; import org.jooq.types.UInteger; @@ -234,6 +231,11 @@ import org.jooq.util.postgres.PostgresUtils; // ... +// ... +// ... +// ... +// ... + /** * @author Lukas Eder */ @@ -2345,6 +2347,31 @@ public class DefaultBinding implements Binding { super(dataType, converter); } + + + + + + + + + + + + + + + + + + + + + + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) static final Field> nan(BindingSQLContext> ctx, DataType> type) { switch (ctx.family()) { @@ -2951,7 +2978,6 @@ public class DefaultBinding implements Binding { - else throw new UnsupportedOperationException("Type " + dataType + " is not supported"); } @@ -2989,9 +3015,6 @@ public class DefaultBinding implements Binding { - - - else throw new UnsupportedOperationException("Type " + dataType + " is not supported"); } @@ -3042,8 +3065,6 @@ public class DefaultBinding implements Binding { - - diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java index 8c084b0e63..7f26f45211 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java @@ -69,6 +69,7 @@ import org.jooq.ExecuteContext; import org.jooq.ExecuteType; import org.jooq.Insert; import org.jooq.Merge; +// ... import org.jooq.Query; import org.jooq.Record; import org.jooq.Result; @@ -82,6 +83,8 @@ import org.jooq.tools.jdbc.JDBCUtils; import org.jetbrains.annotations.NotNull; +// ... + /** * A default implementation for the {@link ExecuteContext}. * @@ -296,43 +299,6 @@ class DefaultExecuteContext implements ExecuteContext { log.info("Could not unwrap native Connection type. Consider implementing an org.jooq.UnwrapperProvider"); return result; } - /** - * Get the registered connection's "target connection" if applicable. - * - * This will try to unwrap any native connection if it has been wrapped with - * any of: - * - * org.apache.commons.dbcp.DelegatingPreparedStatement - * ... - * - */ - static final PreparedStatement targetPreparedStatement(Configuration configuration, PreparedStatement stmt) { - PreparedStatement result = stmt; - - - - - - - - - - - - - - - - - - - - - - - log.info("Could not unwrap native PreparedStatement type. Consider implementing an org.jooq.UnwrapperProvider"); - return result; - } // ------------------------------------------------------------------------ // XXX: Constructors diff --git a/jOOQ/src/main/java/org/jooq/util/postgres/PostgresUtils.java b/jOOQ/src/main/java/org/jooq/util/postgres/PostgresUtils.java index fdfe57ff60..886600a5e5 100644 --- a/jOOQ/src/main/java/org/jooq/util/postgres/PostgresUtils.java +++ b/jOOQ/src/main/java/org/jooq/util/postgres/PostgresUtils.java @@ -55,11 +55,12 @@ import org.jooq.EnumType; import org.jooq.Record; import org.jooq.exception.DataTypeException; import org.jooq.tools.StringUtils; -import org.jooq.tools.reflect.Reflect; import org.jooq.types.DayToSecond; import org.jooq.types.YearToMonth; import org.jooq.types.YearToSecond; +import org.postgresql.util.PGInterval; + /** * A collection of utilities to cover the Postgres JDBC driver's missing * implementations. @@ -239,18 +240,18 @@ public class PostgresUtils { public static DayToSecond toDayToSecond(Object pgInterval) { boolean negative = pgInterval.toString().contains("-"); - Reflect i = on(pgInterval); - if (negative) { - i.call("scale", -1); - } + PGInterval i = (PGInterval) pgInterval; + if (negative) + i.scale(-1); - Double seconds = i.call("getSeconds").get(); + Double seconds = i.getSeconds(); DayToSecond result = new DayToSecond( - i.call("getDays").get(), - i.call("getHours").get(), - i.call("getMinutes").get(), + i.getDays(), + i.getHours(), + i.getMinutes(), seconds.intValue(), - (int) (1000000000 * (seconds - seconds.intValue()))); + (int) (1000000000 * (seconds - seconds.intValue())) + ); if (negative) result = result.neg(); @@ -264,14 +265,11 @@ public class PostgresUtils { public static YearToMonth toYearToMonth(Object pgInterval) { boolean negative = pgInterval.toString().contains("-"); - Reflect i = on(pgInterval); - if (negative) { - i.call("scale", -1); - } + PGInterval i = (PGInterval) pgInterval; + if (negative) + i.scale(-1); - YearToMonth result = new YearToMonth( - i.call("getYears").get(), - i.call("getMonths").get()); + YearToMonth result = new YearToMonth(i.getYears(), i.getMonths()); if (negative) result = result.neg(); diff --git a/pom.xml b/pom.xml index 387a5ea419..d43deffa78 100644 --- a/pom.xml +++ b/pom.xml @@ -31,10 +31,11 @@ 3.32.3.2 10.14.2.0 2.5.1 - 9.2.1.jre11 - + 42.2.19 + 9.2.1.jre11 + 21.1.0.0 2.3.1 @@ -321,6 +322,11 @@ + + + + + org.hibernate
- * This will try to unwrap any native connection if it has been wrapped with - * any of: - *
org.apache.commons.dbcp.DelegatingPreparedStatement