Mark Paluch
226c80fb02
#12 - Retain input item order in save(…) methods.
...
We now use concatMap(…) instead of flatMap(…) when saving items to retain output item order.
2018-11-12 15:13:19 +01:00
Mark Paluch
93ddaff3c2
#11 - Adapt Statement.bind(…) calls to newly introduced positional (integer-arg) binding.
...
We now use bind(int, …) methods to bind parameters by index.
2018-11-12 15:04:29 +01:00
Mark Paluch
c2ebfb8cd3
#10 - Adapt to removed Statement.executeReturningGeneratedKeys().
2018-11-12 15:00:27 +01:00
Mark Paluch
12dc98bcbd
#2 - Polishing.
2018-10-17 11:11:16 +02:00
Mark Paluch
a5e2a8e61f
#2 - Polishing.
...
Introduce customization hook methods. Rename DefaultTypedGenericExecuteSpec to DefaultTypedExecuteSpec and GenericExecuteSpecSupport to ExecuteSpecSupport as types are not tied to generic execution. Encapsulate fields in DatabaseClient builders.
2018-10-17 11:11:10 +02:00
Mark Paluch
20eb2c1a6d
#2 - Resolve package cycle between r2dbc.function and r2dbc.function.convert.
2018-10-17 11:11:09 +02:00
Mark Paluch
f223475112
#2 - Adapt to R2DBC API changes.
2018-10-17 11:11:07 +02:00
Mark Paluch
1464df99d4
#2 - Add transactional support.
...
We now support transaction hosting and transaction management via TransactionalDatabaseClient.
TransactionalDatabaseClient databaseClient = TransactionalDatabaseClient.create(connectionFactory);
Flux<Integer> integerFlux = databaseClient.inTransaction(db -> {
return db.execute().sql("INSERT INTO legoset (id, name, manual) VALUES($1, $2, $3)") //
.bind(0, 42055) //
.bind(1, "SCHAUFELRADBAGGER") //
.bindNull("$3") //
.fetch().rowsUpdated();
});
2018-10-17 11:11:06 +02:00
Oliver Gierke
853b3fb449
#2 - Adapt code to API changes.
2018-10-17 11:11:05 +02:00
Mark Paluch
900918fa54
#2 - Use java.lang.Long as fallback Id type.
...
We now use java.lang.Long as fallback Id type for entities that do not declare an explicit Id property. Previously we used ObjectId which was a left-over from the initial draft of MappingRelationalEntityInformation.
2018-10-17 11:11:02 +02:00
Mark Paluch
cccc3808aa
#2 - Polishing.
2018-10-17 11:11:00 +02:00
Mark Paluch
831e753658
#2 - Introduce R2DBC exception translation.
...
We now provide exception translation for R2DBC exceptions based on Spring JDBC's SQLErrorCodes.
2018-10-17 11:10:58 +02:00
Oliver Gierke
c59ba067cc
#2 - EntityRowMapper now prevents constructor argument properties from being read twice.
2018-10-17 11:10:55 +02:00
Mark Paluch
8b006abbe5
#2 - Create relational and r2dbc packages.
...
Move types into relational and r2dbc packages in preparation for a later module separation.
2018-10-17 11:10:54 +02:00
Mark Paluch
cee7479cd0
#2 - Exclude reactive repositories from JdbcRepositoryConfigExtension.
2018-10-17 11:10:51 +02:00
Mark Paluch
9d9c665f76
#2 - Polishing.
2018-10-17 11:10:50 +02:00
Mark Paluch
f794bfc3ab
#2 - Add R2dbcRepositoryFactory and simple query subsystem.
2018-10-17 11:10:48 +02:00
Mark Paluch
28dee1274f
#2 - Add updates to SimpleR2dbcRepository.
2018-10-17 11:10:45 +02:00
Mark Paluch
893149df8c
#2 - Fix DefaultTypedInsertSpec.then().
2018-10-17 11:10:40 +02:00
Mark Paluch
e8d3e055c6
#2 - Initial SimpleR2dbcRepository support.
2018-10-17 11:10:37 +02:00
Mark Paluch
4d5d310741
#2 - Add DatabaseClient.select().
...
We now allow typesafe and generic selection of rows.
2018-10-17 11:10:35 +02:00
Mark Paluch
1d5bb962fd
#2 - Polishing.
2018-10-17 11:10:33 +02:00
Mark Paluch
ddc587e898
#2 - Introduce ConnectionAccessor.
...
Declare interface exposing inConnection(…) methods to encapsulate types implementing functionality that is applies within a connection scope. Move FetchSpec and SqlResult implementations to top-level types.
2018-10-17 11:10:31 +02:00
Mark Paluch
b8375f5a96
#2 - Refactor to functional usage of resources.
...
DatabaseClient now creates functions. The actual invocation/execution takes place from DefaultFetchFunctions (FetchSpec) to keep stateful resources in the scope of the execution. execute()/executeMany() use Flux.usingWhen/Mono.usingWhen to release connections after their usage.
2018-10-17 11:10:30 +02:00
Mark Paluch
c59e9a58eb
#2 - Add DatabaseClient.
...
Provide DatabaseClient and add ExternalDatabase class to provide database connection details/encapsulate a dockerized testcontainer.
2018-10-17 11:10:20 +02:00