From 854375dbcf779a0a1109887b9a096bbd7dee65c5 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 26 Jul 2019 15:18:18 +0200 Subject: [PATCH] [jOOQ/jOOQ#7789] Revert change The jOOQ 3.12 Open Source Edition will continue to support Java 8. The only things we gain from the JDK 11 dependency is: - Updated logic for reflection when mapping into proxied default methods (that stuff has changed completely in JDK 9). This is a regression, which we can live with. The workaround is to write a custom - Explicit dependency on the JDK 9 API, for which we provide a Java 8 compatible alternative via reactive streams anyway. - JDBC 4.3 compatibility (mostly sharding). We currently don't use that yet. We're not even using internally, outside of a few integration tests. So, we'll postpone the JDK 11 *requirement* (while supporting it nonetheless) to a later release, e.g. 3.13. We'll observe market share shifts. Currently Java 11's market share is a bit of a disappointment, so making it a requirement might be premature. --- .../src/main/java/module-info.java.invalid | 21 ++-- .../src/main/java/module-info.java.invalid | 27 +++-- .../src/main/java/module-info.java.invalid | 23 ++-- jOOQ-examples/jOOQ-academy/pom.xml | 6 +- .../jOOQ-checker-framework-example/pom.xml | 8 +- jOOQ-examples/jOOQ-javaee-example/pom.xml | 6 +- jOOQ-examples/jOOQ-javafx-example/pom.xml | 6 +- .../jOOQ-jpa-example-entities/pom.xml | 10 +- .../src/main/java/module-info.java.invalid | 21 ++-- jOOQ-examples/jOOQ-jpa-example/pom.xml | 6 +- .../src/main/java/module-info.java.invalid | 23 ++-- jOOQ-examples/jOOQ-kotlin-example/pom.xml | 6 +- jOOQ-examples/jOOQ-oracle-example/pom.xml | 6 +- .../jOOQ-spark-chart-example/pom.xml | 6 +- jOOQ-examples/jOOQ-spark-example/pom.xml | 6 +- jOOQ-examples/jOOQ-spring-example/pom.xml | 6 +- .../jOOQ-spring-guice-example/pom.xml | 6 +- .../src/main/java/module-info.java.invalid | 31 ++--- .../src/main/java/module-info.java.invalid | 53 +++++---- jOOQ-release/build.xml | 2 +- jOOQ/src/main/java/module-info.java.invalid | 111 +++++++++--------- jOOQ/src/main/java/org/jooq/ResultQuery.java | 4 +- .../src/main/java/org/jooq/RowCountQuery.java | 4 +- .../impl/AbstractDelegatingRowCountQuery.java | 10 +- .../org/jooq/impl/AbstractResultQuery.java | 10 +- .../org/jooq/impl/AbstractRowCountQuery.java | 8 +- ...FlowToReactiveStreamsSubscriberBridge.java | 76 ++++++------ .../main/java/org/jooq/impl/SelectImpl.java | 10 +- .../jooq/tools/jdbc/DefaultConnection.java | 56 ++++----- .../org/jooq/tools/jdbc/DefaultStatement.java | 38 +++--- .../java/org/jooq/tools/reflect/Compile.java | 66 +++++------ .../java/org/jooq/tools/reflect/Reflect.java | 24 ++-- pom.xml | 6 +- 33 files changed, 355 insertions(+), 347 deletions(-) diff --git a/jOOQ-checker/src/main/java/module-info.java.invalid b/jOOQ-checker/src/main/java/module-info.java.invalid index 5fef7d21ab..8c4310f47b 100644 --- a/jOOQ-checker/src/main/java/module-info.java.invalid +++ b/jOOQ-checker/src/main/java/module-info.java.invalid @@ -1,12 +1,13 @@ -/** - * The jOOQ checker module - */ -/* -// Modularisation not possible, yet: https://github.com/typetools/checker-framework/issues/2024 -module org.jooq.checker { - requires org.jooq; - requires checker; -} -*/ + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-codegen-maven/src/main/java/module-info.java.invalid b/jOOQ-codegen-maven/src/main/java/module-info.java.invalid index 09bcd82ff0..e2d4089f77 100644 --- a/jOOQ-codegen-maven/src/main/java/module-info.java.invalid +++ b/jOOQ-codegen-maven/src/main/java/module-info.java.invalid @@ -1,16 +1,17 @@ -/** - * The jOOQ code generation maven plugin module. - */ -module org.jooq.codegen.maven { - requires org.jooq; - requires org.jooq.meta; - requires org.jooq.codegen; - requires maven.plugin.annotations; - // Split packages between these - // See https://issues.apache.org/jira/browse/MPLUGIN-341 - requires maven.core; - requires maven.plugin.api; -} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-codegen/src/main/java/module-info.java.invalid b/jOOQ-codegen/src/main/java/module-info.java.invalid index a466f6916e..f766bfe50d 100644 --- a/jOOQ-codegen/src/main/java/module-info.java.invalid +++ b/jOOQ-codegen/src/main/java/module-info.java.invalid @@ -1,14 +1,15 @@ -/** - * The jOOQ code generation module. - */ -module org.jooq.codegen { - requires org.jooq; - requires org.jooq.meta; - // Some marshalling and unmarshalling of JAXB-annotated XML configuration is needed - requires java.xml.bind; - exports org.jooq.codegen; - exports org.jooq.codegen.example; -} + + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-examples/jOOQ-academy/pom.xml b/jOOQ-examples/jOOQ-academy/pom.xml index 855b9e9bae..934c1ddcc7 100644 --- a/jOOQ-examples/jOOQ-academy/pom.xml +++ b/jOOQ-examples/jOOQ-academy/pom.xml @@ -85,12 +85,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-examples/jOOQ-checker-framework-example/pom.xml b/jOOQ-examples/jOOQ-checker-framework-example/pom.xml index bde20e16e1..40a8ff181c 100644 --- a/jOOQ-examples/jOOQ-checker-framework-example/pom.xml +++ b/jOOQ-examples/jOOQ-checker-framework-example/pom.xml @@ -61,8 +61,8 @@ maven-compiler-plugin 3.8.0 - 11 - 11 + 1.8 + 1.8 true org.jooq.checker.SQLDialectChecker @@ -86,8 +86,8 @@ javac-with-errorprone true - 11 - 11 + 1.8 + 1.8 org.jooq diff --git a/jOOQ-examples/jOOQ-javaee-example/pom.xml b/jOOQ-examples/jOOQ-javaee-example/pom.xml index ca6849d921..8e2d57adac 100644 --- a/jOOQ-examples/jOOQ-javaee-example/pom.xml +++ b/jOOQ-examples/jOOQ-javaee-example/pom.xml @@ -127,12 +127,12 @@ ${version.compiler.plugin} - 11 + - 11 - 11 + 1.8 + 1.8 diff --git a/jOOQ-examples/jOOQ-javafx-example/pom.xml b/jOOQ-examples/jOOQ-javafx-example/pom.xml index 7c645c85fe..24781980cc 100644 --- a/jOOQ-examples/jOOQ-javafx-example/pom.xml +++ b/jOOQ-examples/jOOQ-javafx-example/pom.xml @@ -88,12 +88,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-examples/jOOQ-jpa-example-entities/pom.xml b/jOOQ-examples/jOOQ-jpa-example-entities/pom.xml index 4a9b7955c3..db70dd966f 100644 --- a/jOOQ-examples/jOOQ-jpa-example-entities/pom.xml +++ b/jOOQ-examples/jOOQ-jpa-example-entities/pom.xml @@ -39,12 +39,12 @@ 3.8.0 - 11 + - 11 - 11 + 1.8 + 1.8 @@ -62,7 +62,7 @@ javax.xml.bind jaxb-api - 2.3.0 + 2.2.12 @@ -71,7 +71,7 @@ javax.xml.bind jaxb-api - 2.3.0 + 2.2.12 diff --git a/jOOQ-examples/jOOQ-jpa-example-entities/src/main/java/module-info.java.invalid b/jOOQ-examples/jOOQ-jpa-example-entities/src/main/java/module-info.java.invalid index db9e98bc29..8c4310f47b 100644 --- a/jOOQ-examples/jOOQ-jpa-example-entities/src/main/java/module-info.java.invalid +++ b/jOOQ-examples/jOOQ-jpa-example-entities/src/main/java/module-info.java.invalid @@ -1,12 +1,13 @@ -/** - * The jOOQ example JPA entities module. - */ -module org.jooq.example.jpa.entities { - requires java.persistence; - requires org.hibernate.orm.core; - exports org.jooq.example.jpa.converters; - exports org.jooq.example.jpa.embeddables; - exports org.jooq.example.jpa.entity; -} + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-examples/jOOQ-jpa-example/pom.xml b/jOOQ-examples/jOOQ-jpa-example/pom.xml index b2923e6121..d22b1cc514 100644 --- a/jOOQ-examples/jOOQ-jpa-example/pom.xml +++ b/jOOQ-examples/jOOQ-jpa-example/pom.xml @@ -101,12 +101,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-examples/jOOQ-jpa-example/src/main/java/module-info.java.invalid b/jOOQ-examples/jOOQ-jpa-example/src/main/java/module-info.java.invalid index eb5d16f3f8..f766bfe50d 100644 --- a/jOOQ-examples/jOOQ-jpa-example/src/main/java/module-info.java.invalid +++ b/jOOQ-examples/jOOQ-jpa-example/src/main/java/module-info.java.invalid @@ -1,14 +1,15 @@ -/** - * The jOOQ example JPA entities module. - */ -module org.jooq.example.jpa { - requires org.jooq; - requires org.jooq.example.jpa.entities; - requires java.persistence; - requires org.hibernate.orm.core; - requires spring.jdbc; - requires spring.orm; -} + + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-examples/jOOQ-kotlin-example/pom.xml b/jOOQ-examples/jOOQ-kotlin-example/pom.xml index faca7538f6..87b09fd271 100644 --- a/jOOQ-examples/jOOQ-kotlin-example/pom.xml +++ b/jOOQ-examples/jOOQ-kotlin-example/pom.xml @@ -183,12 +183,12 @@ 3.8.0 - 11 + - 11 - 11 + 1.8 + 1.8 diff --git a/jOOQ-examples/jOOQ-oracle-example/pom.xml b/jOOQ-examples/jOOQ-oracle-example/pom.xml index b497c014c4..05752dd6a1 100644 --- a/jOOQ-examples/jOOQ-oracle-example/pom.xml +++ b/jOOQ-examples/jOOQ-oracle-example/pom.xml @@ -67,12 +67,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-examples/jOOQ-spark-chart-example/pom.xml b/jOOQ-examples/jOOQ-spark-chart-example/pom.xml index 8f8082a9ab..292d2eb7e5 100644 --- a/jOOQ-examples/jOOQ-spark-chart-example/pom.xml +++ b/jOOQ-examples/jOOQ-spark-chart-example/pom.xml @@ -42,12 +42,12 @@ 3.8.0 - 11 + - 11 - 11 + 1.8 + 1.8 diff --git a/jOOQ-examples/jOOQ-spark-example/pom.xml b/jOOQ-examples/jOOQ-spark-example/pom.xml index 2b59c72b5b..f64d27a689 100644 --- a/jOOQ-examples/jOOQ-spark-example/pom.xml +++ b/jOOQ-examples/jOOQ-spark-example/pom.xml @@ -93,12 +93,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-examples/jOOQ-spring-example/pom.xml b/jOOQ-examples/jOOQ-spring-example/pom.xml index 2fd924396d..fdf31319ca 100644 --- a/jOOQ-examples/jOOQ-spring-example/pom.xml +++ b/jOOQ-examples/jOOQ-spring-example/pom.xml @@ -103,12 +103,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-examples/jOOQ-spring-guice-example/pom.xml b/jOOQ-examples/jOOQ-spring-guice-example/pom.xml index e08a992e7d..d6d4cd3d2f 100644 --- a/jOOQ-examples/jOOQ-spring-guice-example/pom.xml +++ b/jOOQ-examples/jOOQ-spring-guice-example/pom.xml @@ -90,12 +90,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source diff --git a/jOOQ-meta-extensions/src/main/java/module-info.java.invalid b/jOOQ-meta-extensions/src/main/java/module-info.java.invalid index f796ec1a07..19f2b690c6 100644 --- a/jOOQ-meta-extensions/src/main/java/module-info.java.invalid +++ b/jOOQ-meta-extensions/src/main/java/module-info.java.invalid @@ -1,18 +1,19 @@ -/** - * The jOOQ code generation meta model extensions module. - */ -module org.jooq.meta.extensions { - requires org.jooq; - requires org.jooq.meta; - requires java.persistence; - requires org.hibernate.orm.core; - requires spring.beans; - requires spring.context; - requires spring.core; - requires h2; - exports org.jooq.meta.extensions.ddl; - exports org.jooq.meta.extensions.jpa; -} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-meta/src/main/java/module-info.java.invalid b/jOOQ-meta/src/main/java/module-info.java.invalid index 85ca1da0ca..e0805bb727 100644 --- a/jOOQ-meta/src/main/java/module-info.java.invalid +++ b/jOOQ-meta/src/main/java/module-info.java.invalid @@ -1,20 +1,4 @@ -/** - * The jOOQ code generation meta model module. - */ -module org.jooq.meta { - requires org.jooq; - - // There are a few JAXB dependencies: - // - The XMLDatabase works with JAXB-annotated InformationSchema types - // - The code generation configuration is also JAXB enabled - requires java.xml.bind; - - exports org.jooq.meta; - exports org.jooq.meta.jaxb; - exports org.jooq.meta.jdbc; - exports org.jooq.meta.xml; - @@ -31,13 +15,30 @@ module org.jooq.meta { - exports org.jooq.meta.cubrid; - exports org.jooq.meta.derby; - exports org.jooq.meta.firebird; - exports org.jooq.meta.h2; - exports org.jooq.meta.hsqldb; - exports org.jooq.meta.mariadb; - exports org.jooq.meta.mysql; - exports org.jooq.meta.postgres; - exports org.jooq.meta.sqlite; -} + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ-release/build.xml b/jOOQ-release/build.xml index df49084c8e..6fca296583 100644 --- a/jOOQ-release/build.xml +++ b/jOOQ-release/build.xml @@ -139,7 +139,7 @@ - + diff --git a/jOOQ/src/main/java/module-info.java.invalid b/jOOQ/src/main/java/module-info.java.invalid index f6362c3020..73bcd335d1 100644 --- a/jOOQ/src/main/java/module-info.java.invalid +++ b/jOOQ/src/main/java/module-info.java.invalid @@ -1,49 +1,4 @@ -/** - * The jOOQ runtime module. - */ -module org.jooq { - - // jOOQ heavily depends on JDBC and cannot work without it - requires transitive java.sql; - - // JAXB is used optionally for loading a variety of XML content, including - // - Settings (org.jooq.conf) - // - InformationSchema (org.jooq.util.xml.jaxb) - requires static java.xml.bind; - - // The DefaultRecordMapper makes use of JavaBeans utilities, including: - // - Support for ConstructorProperties - requires static java.desktop; - - // Various utilities can make use of JPA annotations, when present, including: - // - The DefaultRecordMapper - // - The JPADatabase in the code generator - // - The EntityManagerConnectionProvider - requires static java.persistence; - - // The runtime Java compiler is used to generate enum types on the fly. - // This dependency may be removed in the future. - requires static java.compiler; - - // Optional logging APIs - slf4j will be preferred if found - requires static org.slf4j; - requires static java.logging; - - exports org.jooq; - exports org.jooq.api.annotation; - exports org.jooq.conf; - exports org.jooq.exception; - exports org.jooq.impl; - exports org.jooq.tools; - exports org.jooq.tools.csv; - exports org.jooq.tools.jdbc; - exports org.jooq.tools.json; - exports org.jooq.tools.reflect; - exports org.jooq.types; - exports org.jooq.util.jaxb.tools; - exports org.jooq.util.xml.jaxb; - @@ -61,13 +16,59 @@ module org.jooq { - exports org.jooq.util.cubrid; - exports org.jooq.util.derby; - exports org.jooq.util.firebird; - exports org.jooq.util.h2; - exports org.jooq.util.hsqldb; - exports org.jooq.util.mariadb; - exports org.jooq.util.mysql; - exports org.jooq.util.postgres; - exports org.jooq.util.sqlite; -} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jOOQ/src/main/java/org/jooq/ResultQuery.java b/jOOQ/src/main/java/org/jooq/ResultQuery.java index 31b161995a..f9c01f2b22 100644 --- a/jOOQ/src/main/java/org/jooq/ResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/ResultQuery.java @@ -52,7 +52,7 @@ import java.util.Spliterator; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Flow; +// ... import java.util.function.Consumer; import java.util.stream.Collector; import java.util.stream.Stream; @@ -103,7 +103,7 @@ extends Query , Iterable , org.reactivestreams.Publisher -, Flow.Publisher + { /** diff --git a/jOOQ/src/main/java/org/jooq/RowCountQuery.java b/jOOQ/src/main/java/org/jooq/RowCountQuery.java index 3a8d6e8e04..e2c3039758 100644 --- a/jOOQ/src/main/java/org/jooq/RowCountQuery.java +++ b/jOOQ/src/main/java/org/jooq/RowCountQuery.java @@ -37,7 +37,7 @@ */ package org.jooq; -import java.util.concurrent.Flow; +// ... /** * Any query that is not a {@link ResultQuery}, and thus possibly produces a row @@ -49,7 +49,7 @@ public interface RowCountQuery extends Query , org.reactivestreams.Publisher - , Flow.Publisher + { } diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingRowCountQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingRowCountQuery.java index 3a364b9d28..6567c79416 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingRowCountQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDelegatingRowCountQuery.java @@ -37,7 +37,7 @@ */ package org.jooq.impl; -import java.util.concurrent.Flow; +// ... import org.jooq.RowCountQuery; @@ -57,10 +57,10 @@ abstract class AbstractDelegatingRowCountQuery extends - @Override - public final void subscribe(Flow.Subscriber subscriber) { - getDelegate().subscribe(subscriber); - } + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java index 6c7fad7de2..ee591d3319 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java @@ -71,7 +71,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Flow; +// ... import java.util.concurrent.Future; import java.util.stream.Collector; import java.util.stream.Stream; @@ -366,10 +366,10 @@ abstract class AbstractResultQuery extends AbstractQuery imple - @Override - public final void subscribe(Flow.Subscriber subscriber) { - subscribe(new FlowToReactiveStreamsSubscriberBridge<>(subscriber)); - } + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRowCountQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRowCountQuery.java index 0bef3b7b37..b75072a6cd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRowCountQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRowCountQuery.java @@ -84,10 +84,10 @@ abstract class AbstractRowCountQuery extends AbstractQuery implements RowCountQu - @Override - public final void subscribe(java.util.concurrent.Flow.Subscriber subscriber) { - subscribe(new FlowToReactiveStreamsSubscriberBridge<>(subscriber)); - } + + + + } diff --git a/jOOQ/src/main/java/org/jooq/impl/FlowToReactiveStreamsSubscriberBridge.java b/jOOQ/src/main/java/org/jooq/impl/FlowToReactiveStreamsSubscriberBridge.java index 444c29c892..84a31199a1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FlowToReactiveStreamsSubscriberBridge.java +++ b/jOOQ/src/main/java/org/jooq/impl/FlowToReactiveStreamsSubscriberBridge.java @@ -39,50 +39,50 @@ package org.jooq.impl; -import java.util.concurrent.Flow; -/** - * A bridge mapping a JDK 9 {@link Flow.Subscriber} to a reactive streams - * {@link org.reactivestreams.Subscriber} - * - * @author Lukas Eder - */ -final class FlowToReactiveStreamsSubscriberBridge implements org.reactivestreams.Subscriber { - final Flow.Subscriber delegate; - FlowToReactiveStreamsSubscriberBridge(Flow.Subscriber delegate) { - this.delegate = delegate; - } - @Override - public void onSubscribe(org.reactivestreams.Subscription s) { - delegate.onSubscribe(new Flow.Subscription() { - @Override - public void request(long n) { - s.request(n); - } - @Override - public void cancel() { - s.cancel(); - } - }); - } - @Override - public void onNext(T t) { - delegate.onNext(t); - } - @Override - public void onError(Throwable t) { - delegate.onError(t); - } - @Override - public void onComplete() { - delegate.onComplete(); - } -} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java index e2ca07de12..422880a4ae 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectImpl.java @@ -54,7 +54,7 @@ import java.util.Set; import java.util.concurrent.CompletionStage; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Flow; +// ... import java.util.function.BiFunction; import java.util.function.Function; import java.util.stream.Collector; @@ -2705,10 +2705,10 @@ final class SelectImpl subscriber) { - getDelegate().subscribe(subscriber); - } + + + + diff --git a/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultConnection.java b/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultConnection.java index 39f22a840c..68220c67fc 100644 --- a/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultConnection.java +++ b/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultConnection.java @@ -50,7 +50,7 @@ import java.sql.SQLException; import java.sql.SQLWarning; import java.sql.SQLXML; import java.sql.Savepoint; -import java.sql.ShardingKey; +// ...; import java.sql.Statement; import java.sql.Struct; import java.util.Map; @@ -359,39 +359,39 @@ public class DefaultConnection extends JDBC41Connection implements Connection { - // ------------------------------------------------------------------------ - // JDBC 4.3 - // ------------------------------------------------------------------------ - @Override - public void beginRequest() throws SQLException { - getDelegate().beginRequest(); - } - @Override - public void endRequest() throws SQLException { - getDelegate().endRequest(); - } - @Override - public boolean setShardingKeyIfValid(ShardingKey shardingKey, ShardingKey superShardingKey, int timeout) throws SQLException { - return getDelegate().setShardingKeyIfValid(shardingKey, superShardingKey, timeout); - } - @Override - public boolean setShardingKeyIfValid(ShardingKey shardingKey, int timeout) throws SQLException { - return getDelegate().setShardingKeyIfValid(shardingKey, timeout); - } - @Override - public void setShardingKey(ShardingKey shardingKey, ShardingKey superShardingKey) throws SQLException { - getDelegate().setShardingKey(shardingKey, superShardingKey); - } - @Override - public void setShardingKey(ShardingKey shardingKey) throws SQLException { - getDelegate().setShardingKey(shardingKey); - } + + + + + + + + + + + + + + + + + + + + + + + + + + + } diff --git a/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultStatement.java b/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultStatement.java index c480286c38..7383be86d8 100644 --- a/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultStatement.java +++ b/jOOQ/src/main/java/org/jooq/tools/jdbc/DefaultStatement.java @@ -353,29 +353,29 @@ public class DefaultStatement extends JDBC41Statement implements Statement { - // ------------------------------------------------------------------------ - // JDBC 4.3 - // ------------------------------------------------------------------------ - @Override - public String enquoteLiteral(String val) throws SQLException { - return getDelegate().enquoteLiteral(val); - } - @Override - public String enquoteIdentifier(String identifier, boolean alwaysQuote) throws SQLException { - return getDelegate().enquoteIdentifier(identifier, alwaysQuote); - } - @Override - public boolean isSimpleIdentifier(String identifier) throws SQLException { - return getDelegate().isSimpleIdentifier(identifier); - } - @Override - public String enquoteNCharLiteral(String val) throws SQLException { - return getDelegate().enquoteNCharLiteral(val); - } + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/tools/reflect/Compile.java b/jOOQ/src/main/java/org/jooq/tools/reflect/Compile.java index 6f77fe2dc0..59e8edd31a 100644 --- a/jOOQ/src/main/java/org/jooq/tools/reflect/Compile.java +++ b/jOOQ/src/main/java/org/jooq/tools/reflect/Compile.java @@ -15,7 +15,7 @@ package org.jooq.tools.reflect; -import static java.lang.StackWalker.Option.RETAIN_CLASS_REFERENCE; +// ... import java.io.ByteArrayOutputStream; import java.io.File; @@ -102,41 +102,41 @@ class Compile { } - // Lookup.defineClass() has only been introduced in Java 9. It is - // required to get private-access to interfaces in the class hierarchy - else { - // This method is called by client code from two levels up the current stack frame - // We need a private-access lookup from the class in that stack frame in order to get - // private-access to any local interfaces at that location. - Class caller = StackWalker - .getInstance(RETAIN_CLASS_REFERENCE) - .walk(s -> s - .skip(2) - .findFirst() - .get() - .getDeclaringClass()); - // If the compiled class is in the same package as the caller class, then - // we can use the private-access Lookup of the caller class - if (className.startsWith(caller.getPackageName() + ".")) { - result = MethodHandles - .privateLookupIn(caller, lookup) - .defineClass(fileManager.o.getBytes()); - } - // Otherwise, use an arbitrary class loader. This approach doesn't allow for - // loading private-access interfaces in the compiled class's type hierarchy - else { - result = new ClassLoader() { - @Override - protected Class findClass(String name) throws ClassNotFoundException { - byte[] b = fileManager.o.getBytes(); - return defineClass(className, b, 0, b.length); - } - }.loadClass(className); - } - } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + return result; diff --git a/jOOQ/src/main/java/org/jooq/tools/reflect/Reflect.java b/jOOQ/src/main/java/org/jooq/tools/reflect/Reflect.java index b87c76f001..56105979ad 100644 --- a/jOOQ/src/main/java/org/jooq/tools/reflect/Reflect.java +++ b/jOOQ/src/main/java/org/jooq/tools/reflect/Reflect.java @@ -290,9 +290,9 @@ public class Reflect { Constructor result; - if (true) - result = null; - else + + + try { result = MethodHandles.Lookup.class.getDeclaredConstructor(Class.class); @@ -767,15 +767,15 @@ public class Reflect { if (method.isDefault()) { - // Java 9 version - if (CACHED_LOOKUP_CONSTRUCTOR == null) { - return MethodHandles - .privateLookupIn(proxyType, MethodHandles.lookup()) - .in(proxyType) - .unreflectSpecial(method, proxyType) - .bindTo(proxy) - .invokeWithArguments(args); - } + + + + + + + + + // Java 8 version diff --git a/pom.xml b/pom.xml index be632d185d..0ef916ed65 100644 --- a/pom.xml +++ b/pom.xml @@ -267,12 +267,12 @@ 256m UTF-8 - 11 + - 11 - 11 + 1.8 + 1.8 true lines,vars,source