diff --git a/pom.xml b/pom.xml
index 6496d67..f898ab2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
0.1.4
42.2.5
8.0.21
- 0.8.5.RELEASE
+ 0.9.1.RELEASE
7.1.2.jre8-preview
2.5.4
Borca-RELEASE
diff --git a/src/test/java/org/springframework/data/r2dbc/convert/EntityRowMapperUnitTests.java b/src/test/java/org/springframework/data/r2dbc/convert/EntityRowMapperUnitTests.java
index 8f8bcdf..50b2218 100644
--- a/src/test/java/org/springframework/data/r2dbc/convert/EntityRowMapperUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/convert/EntityRowMapperUnitTests.java
@@ -3,6 +3,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.RowMetadata;
import io.r2dbc.spi.test.MockColumnMetadata;
@@ -33,14 +34,14 @@ class EntityRowMapperUnitTests {
private Row rowMock = mock(Row.class);
private RowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("integer_set").build())
- .columnMetadata(MockColumnMetadata.builder().name("boxed_integers").build())
- .columnMetadata(MockColumnMetadata.builder().name("primitive_integers").build())
- .columnMetadata(MockColumnMetadata.builder().name("enum_array").build())
- .columnMetadata(MockColumnMetadata.builder().name("set_of_enum").build())
- .columnMetadata(MockColumnMetadata.builder().name("enum_set").build())
- .columnMetadata(MockColumnMetadata.builder().name("id").build())
- .columnMetadata(MockColumnMetadata.builder().name("ids").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("integer_set").type(R2dbcType.COLLECTION).build())
+ .columnMetadata(MockColumnMetadata.builder().name("boxed_integers").type(R2dbcType.COLLECTION).build())
+ .columnMetadata(MockColumnMetadata.builder().name("primitive_integers").type(R2dbcType.COLLECTION).build())
+ .columnMetadata(MockColumnMetadata.builder().name("enum_array").type(R2dbcType.COLLECTION).build())
+ .columnMetadata(MockColumnMetadata.builder().name("set_of_enum").type(R2dbcType.COLLECTION).build())
+ .columnMetadata(MockColumnMetadata.builder().name("enum_set").type(R2dbcType.COLLECTION).build())
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
+ .columnMetadata(MockColumnMetadata.builder().name("ids").type(R2dbcType.COLLECTION).build()).build();
@Test // gh-22
void shouldMapSimpleEntity() {
diff --git a/src/test/java/org/springframework/data/r2dbc/convert/MappingR2dbcConverterUnitTests.java b/src/test/java/org/springframework/data/r2dbc/convert/MappingR2dbcConverterUnitTests.java
index 05d7f59..07ea636 100644
--- a/src/test/java/org/springframework/data/r2dbc/convert/MappingR2dbcConverterUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/convert/MappingR2dbcConverterUnitTests.java
@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockRow;
@@ -228,8 +229,9 @@ public class MappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("id", Object.class, 42).identified("world", Object.class, "No, universe")
.build();
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
- .columnMetadata(MockColumnMetadata.builder().name("world").build()).build();
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
+ .columnMetadata(MockColumnMetadata.builder().name("world").type(R2dbcType.VARCHAR).build()).build();
WithSpelExpression result = converter.read(WithSpelExpression.class, row, metadata);
@@ -242,8 +244,9 @@ public class MappingR2dbcConverterUnitTests {
void considersConverterBeforeEntityConstruction() {
MockRow row = MockRow.builder().identified("id", Object.class, 42).identified("person", Object.class, null).build();
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
- .columnMetadata(MockColumnMetadata.builder().name("person").build()).build();
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
+ .columnMetadata(MockColumnMetadata.builder().name("person").type(R2dbcType.VARCHAR).build()).build();
WithSimplePersonConstructor result = converter.read(WithSimplePersonConstructor.class, row, metadata);
diff --git a/src/test/java/org/springframework/data/r2dbc/convert/MySqlMappingR2dbcConverterUnitTests.java b/src/test/java/org/springframework/data/r2dbc/convert/MySqlMappingR2dbcConverterUnitTests.java
index 27e088e..5c5a9f4 100644
--- a/src/test/java/org/springframework/data/r2dbc/convert/MySqlMappingR2dbcConverterUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/convert/MySqlMappingR2dbcConverterUnitTests.java
@@ -17,6 +17,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockRow;
import io.r2dbc.spi.test.MockRowMetadata;
@@ -80,8 +81,8 @@ class MySqlMappingR2dbcConverterUnitTests {
.identified("flag2", Object.class, (byte) 0).build();
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("flag1").build())
- .columnMetadata(MockColumnMetadata.builder().name("flag2").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("flag1").type(R2dbcType.SMALLINT).build())
+ .columnMetadata(MockColumnMetadata.builder().name("flag2").type(R2dbcType.SMALLINT).build()).build();
BooleanMapping mapped = converter.read(BooleanMapping.class, row, metadata);
diff --git a/src/test/java/org/springframework/data/r2dbc/convert/PostgresMappingR2dbcConverterUnitTests.java b/src/test/java/org/springframework/data/r2dbc/convert/PostgresMappingR2dbcConverterUnitTests.java
index cb25802..c0fba34 100644
--- a/src/test/java/org/springframework/data/r2dbc/convert/PostgresMappingR2dbcConverterUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/convert/PostgresMappingR2dbcConverterUnitTests.java
@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import io.r2dbc.postgresql.codec.Json;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockRow;
import io.r2dbc.spi.test.MockRowMetadata;
@@ -89,7 +90,7 @@ class PostgresMappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("json_string", Object.class, Json.of("{\"hello\":\"world\"}")).build();
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("json_string").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("json_string").type(R2dbcType.VARCHAR).build()).build();
ConvertedJson result = converter.read(ConvertedJson.class, row, metadata);
assertThat(result.jsonString).isEqualTo("{\"hello\":\"world\"}");
@@ -101,7 +102,7 @@ class PostgresMappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("json_bytes", Object.class, Json.of("{\"hello\":\"world\"}")).build();
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("json_bytes").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("json_bytes").type(R2dbcType.VARCHAR).build()).build();
ConvertedJson result = converter.read(ConvertedJson.class, row, metadata);
assertThat(result.jsonBytes).isEqualTo("{\"hello\":\"world\"}".getBytes());
@@ -113,7 +114,7 @@ class PostgresMappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("holder", Object.class, Json.of("{\"hello\":\"world\"}")).build();
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("holder").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("holder").type(R2dbcType.VARCHAR).build()).build();
WithJsonHolder result = converter.read(WithJsonHolder.class, row, metadata);
assertThat(result.holder).isNotNull();
diff --git a/src/test/java/org/springframework/data/r2dbc/core/DefaultDatabaseClientUnitTests.java b/src/test/java/org/springframework/data/r2dbc/core/DefaultDatabaseClientUnitTests.java
index a6f445f..e55594f 100644
--- a/src/test/java/org/springframework/data/r2dbc/core/DefaultDatabaseClientUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/core/DefaultDatabaseClientUnitTests.java
@@ -21,6 +21,7 @@ import static org.springframework.data.r2dbc.query.Criteria.*;
import io.r2dbc.spi.Connection;
import io.r2dbc.spi.ConnectionFactory;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.Result;
import io.r2dbc.spi.Statement;
import io.r2dbc.spi.test.MockColumnMetadata;
@@ -435,9 +436,7 @@ public class DefaultDatabaseClientUnitTests {
@Test // gh-189
void shouldApplyStatementFilterFunctions() {
- MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata).build();
+ MockResult result = MockResult.builder().build();
Statement statement = mockStatement(result);
@@ -460,9 +459,7 @@ public class DefaultDatabaseClientUnitTests {
@Test // gh-189
void shouldApplyStatementFilterFunctionsToTypedExecute() {
- MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata).build();
+ MockResult result = MockResult.builder().build();
Statement statement = mockStatement(result);
@@ -538,11 +535,11 @@ public class DefaultDatabaseClientUnitTests {
private MockResult mockSingleColumnResult(@Nullable MockRow.Builder row) {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
- MockResult.Builder resultBuilder = MockResult.builder().rowMetadata(metadata);
+ MockResult.Builder resultBuilder = MockResult.builder();
if (row != null) {
- resultBuilder = resultBuilder.row(row.build());
+ resultBuilder = resultBuilder.row(row.metadata(metadata).build());
}
return resultBuilder.build();
}
diff --git a/src/test/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplateUnitTests.java b/src/test/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplateUnitTests.java
index b88c1b0..f1f1f2a 100644
--- a/src/test/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplateUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplateUnitTests.java
@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.core;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -87,8 +88,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldCountBy() {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
+ .columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
+ MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Long.class, 1L).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -108,8 +109,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldProjectExistsResult() {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
+ .columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
+ MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Object.class, null).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -126,8 +127,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldExistsByCriteria() {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
+ .columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
+ MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Long.class, 1L).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -162,10 +163,11 @@ public class R2dbcEntityTemplateUnitTests {
@Test // gh-215
void selectShouldInvokeCallback() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
- .columnMetadata(MockColumnMetadata.builder().name("THE_NAME").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata).row(MockRow.builder()
- .identified("id", Object.class, "Walter").identified("THE_NAME", Object.class, "some-name").build()).build();
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
+ .columnMetadata(MockColumnMetadata.builder().name("THE_NAME").type(R2dbcType.VARCHAR).build()).build();
+ MockResult result = MockResult.builder().row(MockRow.builder().identified("id", Object.class, "Walter")
+ .identified("THE_NAME", Object.class, "some-name").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -204,8 +206,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldUpdateByQuery() {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata).rowsUpdated(1).build();
+ .columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
+ MockResult result = MockResult.builder().rowsUpdated(1).build();
recorder.addStubbing(s -> s.startsWith("UPDATE"), result);
@@ -226,8 +228,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldDeleteByQuery() {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
- MockResult result = MockResult.builder().rowMetadata(metadata).rowsUpdated(1).build();
+ .columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
+ MockResult result = MockResult.builder().rowsUpdated(1).build();
recorder.addStubbing(s -> s.startsWith("DELETE"), result);
diff --git a/src/test/java/org/springframework/data/r2dbc/core/ReactiveDataAccessStrategyTestSupport.java b/src/test/java/org/springframework/data/r2dbc/core/ReactiveDataAccessStrategyTestSupport.java
index 849f8c9..f6b86df 100644
--- a/src/test/java/org/springframework/data/r2dbc/core/ReactiveDataAccessStrategyTestSupport.java
+++ b/src/test/java/org/springframework/data/r2dbc/core/ReactiveDataAccessStrategyTestSupport.java
@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.core;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
+import io.r2dbc.spi.Parameters;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.RowMetadata;
import io.r2dbc.spi.test.MockColumnMetadata;
@@ -198,7 +199,8 @@ public abstract class ReactiveDataAccessStrategyTestSupport {
ReactiveDataAccessStrategy strategy = getStrategy();
Row rowMock = mock(Row.class);
RowMetadata metadataMock = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name(fieldname).build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name(fieldname).type(Parameters.in(testValue).getType()).build())
+ .build();
PrimitiveTypes toSave = new PrimitiveTypes();
setter.accept(toSave, testValue);
diff --git a/src/test/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationUnitTests.java b/src/test/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationUnitTests.java
index 7de954a..32bdf56 100644
--- a/src/test/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationUnitTests.java
@@ -17,6 +17,7 @@ package org.springframework.data.r2dbc.core;
import static org.assertj.core.api.Assertions.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -55,10 +56,11 @@ public class ReactiveInsertOperationUnitTests {
@Test // gh-220
void shouldInsert() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, 42).build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified("id", Object.class, 42).metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("INSERT"), result);
@@ -83,10 +85,11 @@ public class ReactiveInsertOperationUnitTests {
@Test // gh-220
void shouldUpdateInTable() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, 42).build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified("id", Object.class, 42).metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("INSERT"), result);
diff --git a/src/test/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationUnitTests.java b/src/test/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationUnitTests.java
index c6f9132..1057bb8 100644
--- a/src/test/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationUnitTests.java
@@ -19,6 +19,7 @@ import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.relational.core.query.Criteria.*;
import static org.springframework.data.relational.core.query.Query.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -56,10 +57,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectAll() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -79,10 +81,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectAs() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -102,10 +105,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectFromTable() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
+ .row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -125,10 +129,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectFirst() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
+ .row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -147,10 +152,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectOne() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -169,10 +175,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectExists() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -191,10 +198,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectCount() {
- MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
+ MockRowMetadata metadata = MockRowMetadata.builder()
+ .columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
- MockResult result = MockResult.builder().rowMetadata(metadata)
- .row(MockRow.builder().identified(0, Long.class, 1L).build()).build();
+ MockResult result = MockResult.builder()
+ .row(MockRow.builder().identified(0, Long.class, 1L).metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
diff --git a/src/test/java/org/springframework/data/r2dbc/repository/query/StringBasedR2dbcQueryUnitTests.java b/src/test/java/org/springframework/data/r2dbc/repository/query/StringBasedR2dbcQueryUnitTests.java
index f55e90f..7ea71fa 100644
--- a/src/test/java/org/springframework/data/r2dbc/repository/query/StringBasedR2dbcQueryUnitTests.java
+++ b/src/test/java/org/springframework/data/r2dbc/repository/query/StringBasedR2dbcQueryUnitTests.java
@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.repository.query;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
+import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -288,9 +289,9 @@ public class StringBasedR2dbcQueryUnitTests {
void selectsSimpleType() {
MockRowMetadata metadata = MockRowMetadata.builder()
- .columnMetadata(MockColumnMetadata.builder().name("date").build()).build();
+ .columnMetadata(MockColumnMetadata.builder().name("date").type(R2dbcType.DATE).build()).build();
LocalDate value = LocalDate.now();
- MockResult result = MockResult.builder().rowMetadata(metadata)
+ MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, LocalDate.class, value).build()).build();
StatementRecorder recorder = StatementRecorder.newInstance();
diff --git a/src/test/kotlin/org/springframework/data/r2dbc/repository/CoroutineRepositoryUnitTests.kt b/src/test/kotlin/org/springframework/data/r2dbc/repository/CoroutineRepositoryUnitTests.kt
index d42e922..44a409b 100644
--- a/src/test/kotlin/org/springframework/data/r2dbc/repository/CoroutineRepositoryUnitTests.kt
+++ b/src/test/kotlin/org/springframework/data/r2dbc/repository/CoroutineRepositoryUnitTests.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2021 the original author or authors.
+ * Copyright 2020-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
*/
package org.springframework.data.r2dbc.repository
+import io.r2dbc.spi.R2dbcType
import io.r2dbc.spi.test.MockColumnMetadata
import io.r2dbc.spi.test.MockResult
import io.r2dbc.spi.test.MockRow
@@ -69,11 +70,21 @@ class CoroutineRepositoryUnitTests {
@Test // gh-395
fun shouldIssueSelectQuery() {
- val rowMetadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build()).columnMetadata(MockColumnMetadata.builder().name("name").build()).build()
- val row1 = MockRow.builder().identified("id", Object::class.java, 1L).identified("name", Object::class.java, "Walter").build()
- val row2 = MockRow.builder().identified("id", Object::class.java, 2L).identified("name", Object::class.java, "White").build()
+ val rowMetadata = MockRowMetadata.builder()
+ .columnMetadata(
+ MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build()
+ )
+ .columnMetadata(
+ MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()
+ )
+ .build()
+ val row1 = MockRow.builder().identified("id", Object::class.java, 1L)
+ .identified("name", Object::class.java, "Walter").metadata(rowMetadata)
+ .build()
+ val row2 = MockRow.builder().identified("id", Object::class.java, 2L)
+ .identified("name", Object::class.java, "White").metadata(rowMetadata).build()
- val result = MockResult.builder().rowMetadata(rowMetadata).row(row1).row(row2).build()
+ val result = MockResult.builder().row(row1).row(row2).build()
recorder.addStubbing({ s: String -> s.startsWith("SELECT") }, result)
val repository = repositoryFactory.getRepository(PersonRepository::class.java)