diff --git a/pom.xml b/pom.xml
index e94e7af9..5d98456a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,6 +107,11 @@
${springdata.relational}
+
+ org.springframework
+ spring-r2dbc
+
+
org.springframeworkspring-tx
diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc
index 18e5f7e9..16c2c6f9 100644
--- a/src/main/asciidoc/index.adoc
+++ b/src/main/asciidoc/index.adoc
@@ -52,3 +52,4 @@ include::reference/kotlin.adoc[leveloffset=+1]
:numbered!:
include::{spring-data-commons-docs}/repository-query-keywords-reference.adoc[leveloffset=+1]
include::{spring-data-commons-docs}/repository-query-return-types-reference.adoc[leveloffset=+1]
+include::reference/r2dbc-upgrading.adoc[leveloffset=+1]
diff --git a/src/main/asciidoc/reference/r2dbc-upgrading.adoc b/src/main/asciidoc/reference/r2dbc-upgrading.adoc
new file mode 100644
index 00000000..2bda4759
--- /dev/null
+++ b/src/main/asciidoc/reference/r2dbc-upgrading.adoc
@@ -0,0 +1,48 @@
+[appendix]
+= Migration Guide
+
+The following sections explain how to migrate to a newer version of Spring Data R2DBC.
+
+[[upgrading.1.1-1.2]]
+== Upgrading from 1.1.x to 1.2.x
+
+Spring Data R2DBC was developed with the intent to evaluate how well R2DBC can integrate with Spring applications.
+One of the main aspects was to move core support into Spring Framework once R2DBC support has proven useful.
+Spring Framework 5.3 ships with a new module: Spring R2DBC.
+
+`spring-r2dbc` ships core R2DBC functionality (a slim variant of `DatabaseClient`, Transaction Manager, Connection Factory initialization, Exception translation) that was initially provided by Spring Data R2DBC. The 1.2.0 release aligns with what's provided in Spring R2DBC by making several changes outlined in the following sections.
+
+[[upgrading.1.1-1.2.deprecation]]
+=== Deprecations
+
+* Deprecation of `o.s.d.r2dbc.core.DatabaseClient` and its support classes `ConnectionAccessor`, `FetchSpec`, `SqlProvider` and a few more.
+Named parameter support classes such as `NamedParameterExpander` are encapsulated by Spring R2DBC's `DatabaseClient` implementation hence we're not providing replacements as this was internal API in the first place.
+Use `o.s.r2dbc.core.DatabaseClient` and their Spring R2DBC replacements available from `org.springframework.r2dbc.core`.
+Entity-based methods (`select`/`insert`/`update`/`delete`) methods are available through `R2dbcEntityTemplate` which was introduced with version 1.1.
+* Deprecation of `o.s.d.r2dbc.connectionfactory`, `o.s.d.r2dbc.connectionfactory.init`, and `o.s.d.r2dbc.connectionfactory.lookup` packages.
+Use Spring R2DBC's variant which you can find at `o.s.r2dbc.connection`.
+* Deprecation of `o.s.d.r2dbc.convert.ColumnMapRowMapper`.
+Use `o.s.r2dbc.core.ColumnMapRowMapper` instead.
+* Deprecation of binding support classes `o.s.d.r2dbc.dialect.Bindings`, `BindMarker`, `BindMarkers`, `BindMarkersFactory` and related types.
+Use replacements from `org.springframework.r2dbc.core.binding`.
+* Deprecation of `BadSqlGrammarException`, `UncategorizedR2dbcException` and exception translation at `o.s.d.r2dbc.support`.
+Spring R2DBC provides a slim exception translation variant without an SPI for now available through `o.s.r2dbc.connection.ConnectionFactoryUtils#convertR2dbcException`.
+
+[[upgrading.1.1-1.2.replacements]]
+=== Usage of replacements provided by Spring R2DBC
+
+To ease migration, several deprecated types are now subtypes of their replacements provided by Spring R2DBC. Spring Data R2DBC has changes several methods or introduced new methods accepting Spring R2DBC types.
+Specifically the following classes are affected:
+
+* `R2dbcEntityTemplate`
+* `R2dbcDialect`
+* Types in `org.springframework.data.r2dbc.query`
+
+We recommend that you review your imports if you work with these types directly.
+
+[[upgrading.1.1-1.2.dependencies]]
+=== Dependency Changes
+
+To make use of Spring R2DBC, make sure to include the following dependency:
+
+* `org.springframework:spring-r2dbc`
diff --git a/src/main/java/org/springframework/data/r2dbc/BadSqlGrammarException.java b/src/main/java/org/springframework/data/r2dbc/BadSqlGrammarException.java
index 779cea78..63686414 100644
--- a/src/main/java/org/springframework/data/r2dbc/BadSqlGrammarException.java
+++ b/src/main/java/org/springframework/data/r2dbc/BadSqlGrammarException.java
@@ -17,8 +17,6 @@ package org.springframework.data.r2dbc;
import io.r2dbc.spi.R2dbcException;
-import org.springframework.dao.InvalidDataAccessResourceUsageException;
-
/**
* Exception thrown when SQL specified is invalid. Such exceptions always have a {@link io.r2dbc.spi.R2dbcException}
* root cause.
@@ -28,13 +26,13 @@ import org.springframework.dao.InvalidDataAccessResourceUsageException;
* without affecting code using this class.
*
* @author Mark Paluch
+ * @deprecated since 1.2, use directly Spring R2DBC's {@link org.springframework.r2dbc.BadSqlGrammarException} instead.
*/
-public class BadSqlGrammarException extends InvalidDataAccessResourceUsageException {
+@Deprecated
+public class BadSqlGrammarException extends org.springframework.r2dbc.BadSqlGrammarException {
private static final long serialVersionUID = 3814579246913482054L;
- private final String sql;
-
/**
* Creates a new {@link BadSqlGrammarException}.
*
@@ -43,10 +41,7 @@ public class BadSqlGrammarException extends InvalidDataAccessResourceUsageExcept
* @param ex the root cause.
*/
public BadSqlGrammarException(String task, String sql, R2dbcException ex) {
-
- super(task + "; bad SQL grammar [" + sql + "]", ex);
-
- this.sql = sql;
+ super(task, sql, ex);
}
/**
@@ -60,6 +55,6 @@ public class BadSqlGrammarException extends InvalidDataAccessResourceUsageExcept
* Return the SQL that caused the problem.
*/
public String getSql() {
- return this.sql;
+ return super.getSql();
}
}
diff --git a/src/main/java/org/springframework/data/r2dbc/InvalidResultAccessException.java b/src/main/java/org/springframework/data/r2dbc/InvalidResultAccessException.java
index e79f59e2..8ac229db 100644
--- a/src/main/java/org/springframework/data/r2dbc/InvalidResultAccessException.java
+++ b/src/main/java/org/springframework/data/r2dbc/InvalidResultAccessException.java
@@ -24,13 +24,15 @@ import org.springframework.lang.Nullable;
* Exception thrown when a {@link io.r2dbc.spi.Result} has been accessed in an invalid fashion. Such exceptions always
* have a {@link io.r2dbc.spi.R2dbcException} root cause.
*
- * This typically happens when an invalid {@link org.springframework.data.r2dbc.core.FetchSpec} column index or name
- * has been specified.
+ * This typically happens when an invalid {@link org.springframework.data.r2dbc.core.FetchSpec} column index or name has
+ * been specified.
*
* @author Mark Paluch
* @see BadSqlGrammarException
+ * @deprecated since 1.2, not in use anymore.
*/
@SuppressWarnings("serial")
+@Deprecated
public class InvalidResultAccessException extends InvalidDataAccessResourceUsageException {
private final @Nullable String sql;
diff --git a/src/main/java/org/springframework/data/r2dbc/UncategorizedR2dbcException.java b/src/main/java/org/springframework/data/r2dbc/UncategorizedR2dbcException.java
index d74bd5be..e54b2823 100644
--- a/src/main/java/org/springframework/data/r2dbc/UncategorizedR2dbcException.java
+++ b/src/main/java/org/springframework/data/r2dbc/UncategorizedR2dbcException.java
@@ -17,23 +17,19 @@ package org.springframework.data.r2dbc;
import io.r2dbc.spi.R2dbcException;
-import org.springframework.dao.UncategorizedDataAccessException;
import org.springframework.lang.Nullable;
/**
* Exception thrown when we can't classify a {@link R2dbcException} into one of our generic data access exceptions.
*
* @author Mark Paluch
+ * @deprecated since 1.2, use Spring R2DBC's {@link org.springframework.r2dbc.UncategorizedR2dbcException} instead.
*/
-public class UncategorizedR2dbcException extends UncategorizedDataAccessException {
+@Deprecated
+public class UncategorizedR2dbcException extends org.springframework.r2dbc.UncategorizedR2dbcException {
private static final long serialVersionUID = 361587356435210266L;
- /**
- * SQL that led to the problem
- */
- private final @Nullable String sql;
-
/**
* Creates a new {@link UncategorizedR2dbcException}.
*
@@ -42,10 +38,7 @@ public class UncategorizedR2dbcException extends UncategorizedDataAccessExceptio
* @param ex the root cause
*/
public UncategorizedR2dbcException(String task, @Nullable String sql, R2dbcException ex) {
-
- super(String.format("%s; uncategorized R2dbcException%s; %s", task, sql != null ? " for SQL [" + sql + "]" : "",
- ex.getMessage()), ex);
- this.sql = sql;
+ super(task, sql, ex);
}
/**
@@ -62,6 +55,6 @@ public class UncategorizedR2dbcException extends UncategorizedDataAccessExceptio
*/
@Nullable
public String getSql() {
- return this.sql;
+ return super.getSql();
}
}
diff --git a/src/main/java/org/springframework/data/r2dbc/config/AbstractR2dbcConfiguration.java b/src/main/java/org/springframework/data/r2dbc/config/AbstractR2dbcConfiguration.java
index 765160e0..379c5dfb 100644
--- a/src/main/java/org/springframework/data/r2dbc/config/AbstractR2dbcConfiguration.java
+++ b/src/main/java/org/springframework/data/r2dbc/config/AbstractR2dbcConfiguration.java
@@ -40,8 +40,6 @@ import org.springframework.data.r2dbc.dialect.DialectResolver;
import org.springframework.data.r2dbc.dialect.R2dbcDialect;
import org.springframework.data.r2dbc.mapping.R2dbcMappingContext;
import org.springframework.data.r2dbc.support.R2dbcExceptionSubclassTranslator;
-import org.springframework.data.r2dbc.support.R2dbcExceptionTranslator;
-import org.springframework.data.r2dbc.support.SqlStateR2dbcExceptionTranslator;
import org.springframework.data.relational.core.conversion.BasicRelationalConverter;
import org.springframework.data.relational.core.mapping.NamingStrategy;
import org.springframework.lang.Nullable;
@@ -100,11 +98,9 @@ public abstract class AbstractR2dbcConfiguration implements ApplicationContextAw
* @throws IllegalArgumentException if any of the required args is {@literal null}.
*/
@Bean({ "r2dbcDatabaseClient", "databaseClient" })
- public DatabaseClient databaseClient(ReactiveDataAccessStrategy dataAccessStrategy,
- R2dbcExceptionTranslator exceptionTranslator) {
+ public DatabaseClient databaseClient(ReactiveDataAccessStrategy dataAccessStrategy) {
Assert.notNull(dataAccessStrategy, "DataAccessStrategy must not be null!");
- Assert.notNull(exceptionTranslator, "ExceptionTranslator must not be null!");
SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();
if (context != null) {
@@ -115,7 +111,7 @@ public abstract class AbstractR2dbcConfiguration implements ApplicationContextAw
return DatabaseClient.builder() //
.connectionFactory(lookupConnectionFactory()) //
.dataAccessStrategy(dataAccessStrategy) //
- .exceptionTranslator(exceptionTranslator) //
+ .exceptionTranslator(new R2dbcExceptionSubclassTranslator()) //
.projectionFactory(projectionFactory) //
.build();
}
@@ -200,19 +196,6 @@ public abstract class AbstractR2dbcConfiguration implements ApplicationContextAw
return StoreConversions.of(dialect.getSimpleTypeHolder(), converters);
}
- /**
- * Creates a {@link R2dbcExceptionTranslator} using the configured {@link #connectionFactory() ConnectionFactory}.
- *
- * @return must not be {@literal null}.
- * @see #connectionFactory()
- * @see R2dbcExceptionSubclassTranslator
- * @see SqlStateR2dbcExceptionTranslator
- */
- @Bean
- public R2dbcExceptionTranslator exceptionTranslator() {
- return new R2dbcExceptionSubclassTranslator();
- }
-
ConnectionFactory lookupConnectionFactory() {
ApplicationContext context = this.context;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionFactoryUtils.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionFactoryUtils.java
index 871077f5..731e4256 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionFactoryUtils.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionFactoryUtils.java
@@ -39,7 +39,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public abstract class ConnectionFactoryUtils {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHandle.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHandle.java
index dd3c6063..62d1177e 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHandle.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHandle.java
@@ -23,8 +23,10 @@ import io.r2dbc.spi.Connection;
* @author Mark Paluch
* @see SimpleConnectionHandle
* @see ConnectionHolder
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
@FunctionalInterface
+@Deprecated
public interface ConnectionHandle {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHolder.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHolder.java
index 284c20c1..ea976f33 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHolder.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionHolder.java
@@ -22,8 +22,8 @@ import org.springframework.transaction.support.ResourceHolderSupport;
import org.springframework.util.Assert;
/**
- * Resource holder wrapping a R2DBC {@link Connection}. {@link R2dbcTransactionManager} binds instances of
- * this class to the thread, for a specific {@link ConnectionFactory}.
+ * Resource holder wrapping a R2DBC {@link Connection}. {@link R2dbcTransactionManager} binds instances of this class to
+ * the thread, for a specific {@link ConnectionFactory}.
*
* Inherits rollback-only support for nested R2DBC transactions and reference count functionality from the base class.
*
@@ -33,7 +33,9 @@ import org.springframework.util.Assert;
* @author Christoph Strobl
* @see R2dbcTransactionManager
* @see ConnectionFactoryUtils
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public class ConnectionHolder extends ResourceHolderSupport {
@Nullable private ConnectionHandle connectionHandle;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionProxy.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionProxy.java
index c607a88d..a2783267 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionProxy.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/ConnectionProxy.java
@@ -26,7 +26,9 @@ import io.r2dbc.spi.Wrapped;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use R2DBC's {@link Wrapped} mechanism instead.
*/
+@Deprecated
public interface ConnectionProxy extends Connection, Wrapped {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/DelegatingConnectionFactory.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/DelegatingConnectionFactory.java
index 12f7eac8..903f8eea 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/DelegatingConnectionFactory.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/DelegatingConnectionFactory.java
@@ -32,7 +32,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @see #create
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public class DelegatingConnectionFactory implements ConnectionFactory, Wrapped {
private final ConnectionFactory targetConnectionFactory;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/R2dbcTransactionManager.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/R2dbcTransactionManager.java
index e7c1d262..b6324a1e 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/R2dbcTransactionManager.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/R2dbcTransactionManager.java
@@ -73,7 +73,9 @@ import org.springframework.util.Assert;
* @see ConnectionFactoryUtils#releaseConnection
* @see TransactionAwareConnectionFactoryProxy
* @see DatabaseClient
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public class R2dbcTransactionManager extends AbstractReactiveTransactionManager implements InitializingBean {
private ConnectionFactory connectionFactory;
@@ -135,7 +137,7 @@ public class R2dbcTransactionManager extends AbstractReactiveTransactionManager
*
* If no custom translator is provided, a default {@link R2dbcExceptionSubclassTranslator} is used which translates
* {@link R2dbcException}'s subclasses into Springs {@link DataAccessException} hierarchy.
- *
+ *
* @see R2dbcExceptionSubclassTranslator
* @since 1.1
*/
@@ -526,7 +528,7 @@ public class R2dbcTransactionManager extends AbstractReactiveTransactionManager
*
* The default implementation throws a {@link TransactionSystemException}. Subclasses may specifically identify
* concurrency failures etc.
- *
+ *
* @param task the task description (commit or rollback).
* @param ex the SQLException thrown from commit/rollback.
* @return the translated exception to throw, either a {@link org.springframework.dao.DataAccessException} or a
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/SimpleConnectionHandle.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/SimpleConnectionHandle.java
index 40c27edf..27206cf1 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/SimpleConnectionHandle.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/SimpleConnectionHandle.java
@@ -24,7 +24,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public class SimpleConnectionHandle implements ConnectionHandle {
private final Connection connection;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/SingleConnectionConnectionFactory.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/SingleConnectionConnectionFactory.java
index 115d758a..488a23a7 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/SingleConnectionConnectionFactory.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/SingleConnectionConnectionFactory.java
@@ -53,7 +53,9 @@ import org.springframework.util.Assert;
* @see #create()
* @see io.r2dbc.spi.Connection#close()
* @see ConnectionFactoryUtils#releaseConnection(io.r2dbc.spi.Connection, ConnectionFactory)
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public class SingleConnectionConnectionFactory extends DelegatingConnectionFactory
implements SmartConnectionFactory, DisposableBean {
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/SmartConnectionFactory.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/SmartConnectionFactory.java
index 802dd141..aa7f59bb 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/SmartConnectionFactory.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/SmartConnectionFactory.java
@@ -27,7 +27,9 @@ import io.r2dbc.spi.ConnectionFactory;
*
* @author Mark Paluch
* @see ConnectionFactoryUtils#closeConnection
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public interface SmartConnectionFactory extends ConnectionFactory {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/TransactionAwareConnectionFactoryProxy.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/TransactionAwareConnectionFactoryProxy.java
index a3e7294f..29bbad80 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/TransactionAwareConnectionFactoryProxy.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/TransactionAwareConnectionFactoryProxy.java
@@ -60,7 +60,9 @@ import org.springframework.util.ReflectionUtils;
* @see Connection#close
* @see ConnectionFactoryUtils#doGetConnection
* @see ConnectionFactoryUtils#doReleaseConnection
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection} instead.
*/
+@Deprecated
public class TransactionAwareConnectionFactoryProxy extends DelegatingConnectionFactory {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CannotReadScriptException.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CannotReadScriptException.java
index 0164c874..9c7c3b89 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CannotReadScriptException.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CannotReadScriptException.java
@@ -21,7 +21,9 @@ import org.springframework.core.io.support.EncodedResource;
* Thrown by {@link ScriptUtils} if an SQL script cannot be read.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class CannotReadScriptException extends ScriptException {
private static final long serialVersionUID = 7253084944991764250L;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CompositeDatabasePopulator.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CompositeDatabasePopulator.java
index 4b35bc42..75e42c44 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CompositeDatabasePopulator.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/CompositeDatabasePopulator.java
@@ -31,7 +31,9 @@ import org.springframework.util.Assert;
* executing all scripts.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class CompositeDatabasePopulator implements DatabasePopulator {
private final List populators = new ArrayList<>(4);
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ConnectionFactoryInitializer.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ConnectionFactoryInitializer.java
index dd492a9f..d770bf9c 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ConnectionFactoryInitializer.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ConnectionFactoryInitializer.java
@@ -28,7 +28,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @see DatabasePopulator
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class ConnectionFactoryInitializer implements InitializingBean, DisposableBean {
private @Nullable ConnectionFactory connectionFactory;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulator.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulator.java
index 9e1cf051..d471d542 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulator.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulator.java
@@ -25,8 +25,10 @@ import reactor.core.publisher.Mono;
* @see ResourceDatabasePopulator
* @see DatabasePopulatorUtils
* @see ConnectionFactoryInitializer
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
@FunctionalInterface
+@Deprecated
public interface DatabasePopulator {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulatorUtils.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulatorUtils.java
index c185385e..db6ad11d 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulatorUtils.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/DatabasePopulatorUtils.java
@@ -27,7 +27,9 @@ import org.springframework.util.Assert;
* Utility methods for executing a {@link DatabasePopulator}.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public abstract class DatabasePopulatorUtils {
// utility constructor
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ResourceDatabasePopulator.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ResourceDatabasePopulator.java
index 24fa7dba..3b0b4c42 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ResourceDatabasePopulator.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ResourceDatabasePopulator.java
@@ -45,7 +45,9 @@ import org.springframework.util.StringUtils;
* @author Mark Paluch
* @see DatabasePopulatorUtils
* @see ScriptUtils
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class ResourceDatabasePopulator implements DatabasePopulator {
List scripts = new ArrayList<>();
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptException.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptException.java
index 068843c3..9f67503c 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptException.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptException.java
@@ -22,7 +22,9 @@ import org.springframework.lang.Nullable;
* Root of the hierarchy of data access exceptions that are related to processing of SQL scripts.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public abstract class ScriptException extends DataAccessException {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptParseException.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptParseException.java
index fe43adcf..b3e8dcfc 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptParseException.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptParseException.java
@@ -22,7 +22,9 @@ import org.springframework.lang.Nullable;
* Thrown by {@link ScriptUtils} if an SQL script cannot be properly parsed.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class ScriptParseException extends ScriptException {
private static final long serialVersionUID = 6130513243627087332L;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptStatementFailedException.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptStatementFailedException.java
index 0da186e2..f81be868 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptStatementFailedException.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptStatementFailedException.java
@@ -21,7 +21,9 @@ import org.springframework.core.io.support.EncodedResource;
* Thrown by {@link ScriptUtils} if a statement in an SQL script failed when executing it against the target database.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class ScriptStatementFailedException extends ScriptException {
private static final long serialVersionUID = 912676424615782262L;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptUtils.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptUtils.java
index 71f2c136..5cb3500d 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptUtils.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/ScriptUtils.java
@@ -48,7 +48,9 @@ import org.springframework.util.StringUtils;
* Mainly for internal use within the framework.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public abstract class ScriptUtils {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/UncategorizedScriptException.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/UncategorizedScriptException.java
index 59d89413..62b840b0 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/UncategorizedScriptException.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/UncategorizedScriptException.java
@@ -20,7 +20,9 @@ package org.springframework.data.r2dbc.connectionfactory.init;
* for example, a {@link io.r2dbc.spi.R2dbcException} from R2DBC that we cannot pinpoint more precisely.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
+@Deprecated
public class UncategorizedScriptException extends ScriptException {
private static final long serialVersionUID = -3196706179230349902L;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/package-info.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/package-info.java
index 113c6ba2..d76b4824 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/package-info.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/init/package-info.java
@@ -1,5 +1,6 @@
/**
- * Provides extensible support for initializing databases through scripts.
+ * Provides extensible support for initializing databases through scripts. Deprecated since 1.2 in favor of Spring
+ * R2DBC. Use {@link org.springframework.r2dbc.connection.init} instead.
*/
@org.springframework.lang.NonNullApi
@org.springframework.lang.NonNullFields
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/AbstractRoutingConnectionFactory.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/AbstractRoutingConnectionFactory.java
index d868a9fc..ec9a17a2 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/AbstractRoutingConnectionFactory.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/AbstractRoutingConnectionFactory.java
@@ -42,7 +42,9 @@ import org.springframework.util.Assert;
* @see #setTargetConnectionFactories
* @see #setDefaultTargetConnectionFactory
* @see #determineCurrentLookupKey()
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
+@Deprecated
public abstract class AbstractRoutingConnectionFactory implements ConnectionFactory, InitializingBean {
private static final Object FALLBACK_MARKER = new Object();
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/BeanFactoryConnectionFactoryLookup.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/BeanFactoryConnectionFactoryLookup.java
index f70fc793..8ba60057 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/BeanFactoryConnectionFactoryLookup.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/BeanFactoryConnectionFactoryLookup.java
@@ -30,7 +30,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @see BeanFactory
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
+@Deprecated
public class BeanFactoryConnectionFactoryLookup implements ConnectionFactoryLookup, BeanFactoryAware {
@Nullable private BeanFactory beanFactory;
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookup.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookup.java
index 2d66c822..fdc8179d 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookup.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookup.java
@@ -21,8 +21,10 @@ import io.r2dbc.spi.ConnectionFactory;
* Strategy interface for looking up {@link ConnectionFactory} by name.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
@FunctionalInterface
+@Deprecated
public interface ConnectionFactoryLookup {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookupFailureException.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookupFailureException.java
index 3783dfa6..c70a8340 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookupFailureException.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/ConnectionFactoryLookupFailureException.java
@@ -22,8 +22,10 @@ import org.springframework.dao.NonTransientDataAccessException;
* {@link io.r2dbc.spi.ConnectionFactory} could not be obtained.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
@SuppressWarnings("serial")
+@Deprecated
public class ConnectionFactoryLookupFailureException extends NonTransientDataAccessException {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/MapConnectionFactoryLookup.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/MapConnectionFactoryLookup.java
index 12ddea3d..99e059fa 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/MapConnectionFactoryLookup.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/MapConnectionFactoryLookup.java
@@ -31,7 +31,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @author Jens Schauder
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
+@Deprecated
public class MapConnectionFactoryLookup implements ConnectionFactoryLookup {
private final Map connectionFactories = new HashMap<>();
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/SingleConnectionFactoryLookup.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/SingleConnectionFactoryLookup.java
index 28d6d123..521a215c 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/SingleConnectionFactoryLookup.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/SingleConnectionFactoryLookup.java
@@ -24,7 +24,9 @@ import org.springframework.util.Assert;
* returned for any connection factory name.
*
* @author Mark Paluch
+ * @deprecated since 1.2 in favor of Spring R2DBC. Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
+@Deprecated
public class SingleConnectionFactoryLookup implements ConnectionFactoryLookup {
private final ConnectionFactory connectionFactory;
@@ -41,7 +43,7 @@ public class SingleConnectionFactoryLookup implements ConnectionFactoryLookup {
this.connectionFactory = connectionFactory;
}
- /*
+ /*
* (non-Javadoc)
* @see org.springframework.data.r2dbc.connectionfactory.lookup.ConnectionFactoryLookup#getConnectionFactory(java.lang.String)
*/
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/package-info.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/package-info.java
index efb4e618..e3b10279 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/package-info.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/lookup/package-info.java
@@ -1,5 +1,6 @@
/**
- * Provides a strategy for looking up R2DBC ConnectionFactories by name.
+ * Provides a strategy for looking up R2DBC ConnectionFactories by name. Deprecated since 1.2 in favor of Spring R2DBC.
+ * Use {@link org.springframework.r2dbc.connection.lookup} instead.
*/
@org.springframework.lang.NonNullApi
@org.springframework.lang.NonNullFields
diff --git a/src/main/java/org/springframework/data/r2dbc/connectionfactory/package-info.java b/src/main/java/org/springframework/data/r2dbc/connectionfactory/package-info.java
index 6e09329b..b55ff510 100644
--- a/src/main/java/org/springframework/data/r2dbc/connectionfactory/package-info.java
+++ b/src/main/java/org/springframework/data/r2dbc/connectionfactory/package-info.java
@@ -1,5 +1,6 @@
/**
- * Connection and ConnectionFactory specifics for R2DBC.
+ * Connection and ConnectionFactory specifics for R2DBC. Deprecated since 1.2 in favor of Spring R2DBC. Use
+ * {@link org.springframework.r2dbc.connection} instead.
*/
@org.springframework.lang.NonNullApi
@org.springframework.lang.NonNullFields
diff --git a/src/main/java/org/springframework/data/r2dbc/convert/ColumnMapRowMapper.java b/src/main/java/org/springframework/data/r2dbc/convert/ColumnMapRowMapper.java
index f719aaed..7fff70fb 100644
--- a/src/main/java/org/springframework/data/r2dbc/convert/ColumnMapRowMapper.java
+++ b/src/main/java/org/springframework/data/r2dbc/convert/ColumnMapRowMapper.java
@@ -19,7 +19,6 @@ import io.r2dbc.spi.ColumnMetadata;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.RowMetadata;
-import java.util.Collection;
import java.util.Map;
import java.util.function.BiFunction;
@@ -40,26 +39,15 @@ import org.springframework.util.LinkedCaseInsensitiveMap;
* names in the same casing as exposed by the driver.
*
* @author Mark Paluch
+ * @deprecated since 1.2, use Spring R2DBC's {@link org.springframework.r2dbc.core.ColumnMapRowMapper} directly.
*/
-public class ColumnMapRowMapper implements BiFunction> {
+public class ColumnMapRowMapper extends org.springframework.r2dbc.core.ColumnMapRowMapper {
public final static ColumnMapRowMapper INSTANCE = new ColumnMapRowMapper();
@Override
public Map apply(Row row, RowMetadata rowMetadata) {
-
- Collection extends ColumnMetadata> columns = IterableUtils.toCollection(rowMetadata.getColumnMetadatas());
- int columnCount = columns.size();
- Map mapOfColValues = createColumnMap(columnCount);
-
- int index = 0;
- for (ColumnMetadata column : columns) {
-
- String key = getColumnKey(column.getName());
- Object obj = getColumnValue(row, index++);
- mapOfColValues.put(key, obj);
- }
- return mapOfColValues;
+ return super.apply(row, rowMetadata);
}
/**
@@ -72,7 +60,7 @@ public class ColumnMapRowMapper implements BiFunction createColumnMap(int columnCount) {
- return new LinkedCaseInsensitiveMap<>(columnCount);
+ return super.createColumnMap(columnCount);
}
/**
@@ -83,7 +71,7 @@ public class ColumnMapRowMapper implements BiFunction Collection toCollection(Iterable iterable) {
-
- Assert.notNull(iterable, "Iterable must not be null!");
-
- if (iterable instanceof Collection) {
- return (Collection) iterable;
- }
-
- List result = new ArrayList<>();
-
- for (T element : iterable) {
- result.add(element);
- }
-
- return result;
- }
-
- static List toList(Iterable iterable) {
-
- Assert.notNull(iterable, "Iterable must not be null!");
-
- if (iterable instanceof List) {
- return (List) iterable;
- }
-
- List result = new ArrayList<>();
-
- for (T element : iterable) {
- result.add(element);
- }
-
- return result;
- }
-}
diff --git a/src/main/java/org/springframework/data/r2dbc/core/BindParameterSource.java b/src/main/java/org/springframework/data/r2dbc/core/BindParameterSource.java
index 5403c8dc..c4dfd26e 100644
--- a/src/main/java/org/springframework/data/r2dbc/core/BindParameterSource.java
+++ b/src/main/java/org/springframework/data/r2dbc/core/BindParameterSource.java
@@ -29,7 +29,9 @@ import org.springframework.lang.Nullable;
*
* @author Mark Paluch
* @see MapBindParameterSource
+ * @deprecated since 1.2, without replacement.
*/
+@Deprecated
public interface BindParameterSource {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/core/ConnectionAccessor.java b/src/main/java/org/springframework/data/r2dbc/core/ConnectionAccessor.java
index 219670e0..fc7b77b6 100644
--- a/src/main/java/org/springframework/data/r2dbc/core/ConnectionAccessor.java
+++ b/src/main/java/org/springframework/data/r2dbc/core/ConnectionAccessor.java
@@ -32,8 +32,9 @@ import org.springframework.dao.DataAccessException;
* long the allocated {@link Connection} is valid. Connections are released after the publisher terminates.
*
* @author Mark Paluch
+ * @deprecated since 1.2, use Spring R2DBC's {@link org.springframework.r2dbc.core.DatabaseClient} support instead.
*/
-public interface ConnectionAccessor {
+public interface ConnectionAccessor extends org.springframework.r2dbc.core.ConnectionAccessor {
/**
* Execute a callback {@link Function} within a {@link Connection} scope. The function is responsible for creating a
diff --git a/src/main/java/org/springframework/data/r2dbc/core/DatabaseClient.java b/src/main/java/org/springframework/data/r2dbc/core/DatabaseClient.java
index 593e6c69..e1f0ae5e 100644
--- a/src/main/java/org/springframework/data/r2dbc/core/DatabaseClient.java
+++ b/src/main/java/org/springframework/data/r2dbc/core/DatabaseClient.java
@@ -49,7 +49,9 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @author Bogdan Ilchyshyn
+ * @deprecated since 1.2, use Spring R2DBC's {@link org.springframework.r2dbc.core.DatabaseClient} support instead.
*/
+@Deprecated
public interface DatabaseClient {
/**
diff --git a/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java b/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java
index 194d9941..5690ba60 100644
--- a/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java
+++ b/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java
@@ -44,6 +44,7 @@ import java.util.stream.Collectors;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.reactivestreams.Publisher;
+
import org.springframework.dao.DataAccessException;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.domain.Pageable;
@@ -62,6 +63,7 @@ import org.springframework.data.relational.core.query.Criteria;
import org.springframework.data.relational.core.query.CriteriaDefinition;
import org.springframework.data.relational.core.sql.SqlIdentifier;
import org.springframework.lang.Nullable;
+import org.springframework.r2dbc.core.PreparedOperation;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
diff --git a/src/main/java/org/springframework/data/r2dbc/core/DefaultReactiveDataAccessStrategy.java b/src/main/java/org/springframework/data/r2dbc/core/DefaultReactiveDataAccessStrategy.java
index 75186ad4..25a5e148 100644
--- a/src/main/java/org/springframework/data/r2dbc/core/DefaultReactiveDataAccessStrategy.java
+++ b/src/main/java/org/springframework/data/r2dbc/core/DefaultReactiveDataAccessStrategy.java
@@ -46,6 +46,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentEnti
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
import org.springframework.data.relational.core.sql.SqlIdentifier;
import org.springframework.lang.Nullable;
+import org.springframework.r2dbc.core.Parameter;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.util.CollectionUtils;
@@ -280,6 +281,15 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
return this.updateMapper.getBindValue(value);
}
+ /*
+ * (non-Javadoc)
+ * @see org.springframework.data.r2dbc.function.ReactiveDataAccessStrategy#getBindValue(Parameter)
+ */
+ @Override
+ public Parameter getBindValue(Parameter value) {
+ return this.updateMapper.getBindValue(value);
+ }
+
/*
* (non-Javadoc)
* @see org.springframework.data.r2dbc.function.ReactiveDataAccessStrategy#getRowMapper(java.lang.Class)
diff --git a/src/main/java/org/springframework/data/r2dbc/core/DefaultSqlResult.java b/src/main/java/org/springframework/data/r2dbc/core/DefaultSqlResult.java
index 986842c4..fabcd0f2 100644
--- a/src/main/java/org/springframework/data/r2dbc/core/DefaultSqlResult.java
+++ b/src/main/java/org/springframework/data/r2dbc/core/DefaultSqlResult.java
@@ -31,13 +31,9 @@ import java.util.function.Function;
*
* @author Mark Paluch
*/
-class DefaultSqlResult implements SqlResult {
+class DefaultSqlResult implements FetchSpec {
- private final static SqlResult> EMPTY = new SqlResult