diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultConnectionFactory.java b/jOOQ/src/main/java/org/jooq/impl/DefaultConnectionFactory.java index 81334a25ce..0811e480e3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultConnectionFactory.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultConnectionFactory.java @@ -39,6 +39,8 @@ package org.jooq.impl; import static org.jooq.impl.R2DBC.AbstractSubscription.onRequest; +import java.time.Duration; + import org.jooq.exception.DetachedException; import org.reactivestreams.Publisher; @@ -92,6 +94,11 @@ final class DefaultConnectionFactory implements ConnectionFactory { } private final class NonClosingConnection implements Connection { + + // --------------------------------------------------------------------- + // 0.9.0.M1 API + // --------------------------------------------------------------------- + @Override public Publisher beginTransaction() { return connectionOrThrow().beginTransaction(); @@ -171,5 +178,19 @@ final class DefaultConnectionFactory implements ConnectionFactory { public Publisher validate(ValidationDepth depth) { return connectionOrThrow().validate(depth); } + + // --------------------------------------------------------------------- + // 0.9.0.M2 API + // --------------------------------------------------------------------- + + @Override + public Publisher setLockWaitTimeout(Duration timeout) { + return connectionOrThrow().setLockWaitTimeout(timeout); + } + + @Override + public Publisher setStatementTimeout(Duration timeout) { + return connectionOrThrow().setStatementTimeout(timeout); + } } } diff --git a/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java b/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java index 7ab355e030..267b15d5e7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java @@ -43,6 +43,7 @@ import static org.jooq.impl.ParsingConnection.translate; import static org.jooq.impl.R2DBC.setParamType; import static org.jooq.impl.Tools.EMPTY_PARAM; +import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -127,6 +128,20 @@ final class ParsingConnectionFactory implements ConnectionFactory { this.delegate = delegate; } + @Override + public final Batch createBatch() { + return new ParsingR2DBCBatch(delegate.createBatch()); + } + + @Override + public final Statement createStatement(String sql) { + return new ParsingR2DBCStatement(delegate, sql); + } + + // --------------------------------------------------------------------- + // 0.9.0.M1 API + // --------------------------------------------------------------------- + @Override public final Publisher beginTransaction() { return delegate.beginTransaction(); @@ -197,14 +212,18 @@ final class ParsingConnectionFactory implements ConnectionFactory { return delegate.validate(depth); } + // --------------------------------------------------------------------- + // 0.9.0.M2 API + // --------------------------------------------------------------------- + @Override - public final Batch createBatch() { - return new ParsingR2DBCBatch(delegate.createBatch()); + public final Publisher setLockWaitTimeout(Duration timeout) { + return delegate.setLockWaitTimeout(timeout); } @Override - public final Statement createStatement(String sql) { - return new ParsingR2DBCStatement(delegate, sql); + public final Publisher setStatementTimeout(Duration timeout) { + return delegate.setStatementTimeout(timeout); } } diff --git a/jOOQ/src/main/java/org/jooq/impl/R2DBC.java b/jOOQ/src/main/java/org/jooq/impl/R2DBC.java index 3d05cb718f..58a278a081 100644 --- a/jOOQ/src/main/java/org/jooq/impl/R2DBC.java +++ b/jOOQ/src/main/java/org/jooq/impl/R2DBC.java @@ -1094,6 +1094,10 @@ final class R2DBC { private static final /* record */ class DefaultRow implements Row { private final Configuration c; private final Row r; public DefaultRow(Configuration c, Row r) { this.c = c; this.r = r; } public Configuration c() { return c; } public Row r() { return r; } @Override public boolean equals(Object o) { if (!(o instanceof DefaultRow)) return false; DefaultRow other = (DefaultRow) o; if (!java.util.Objects.equals(this.c, other.c)) return false; if (!java.util.Objects.equals(this.r, other.r)) return false; return true; } @Override public int hashCode() { return java.util.Objects.hash(this.c, this.r); } @Override public String toString() { return new StringBuilder("DefaultRow[").append("c=").append(this.c).append(", r=").append(this.r).append("]").toString(); } + // --------------------------------------------------------------------- + // 0.9.0.M1 API + // --------------------------------------------------------------------- + // These methods are proxied for some drivers that can't convert // between data types. See: // - https://github.com/mirromutth/r2dbc-mysql/issues/177 @@ -1134,6 +1138,15 @@ final class R2DBC { else return converter.from(o); } + + // --------------------------------------------------------------------- + // 0.9.0.M2 API + // --------------------------------------------------------------------- + + @Override + public final RowMetadata getMetadata() { + return r.getMetadata(); + } } } diff --git a/pom.xml b/pom.xml index f193820241..d29a887a11 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ 2.0.0.6 - 0.9.0.M1 + 0.9.0.M2 2.3.1 @@ -157,12 +157,12 @@ io.r2dbc r2dbc-h2 - 0.8.4.RELEASE + 0.9.0.M1 org.mariadb r2dbc-mariadb - 1.0.1 + 1.1.0-beta io.r2dbc