Commit Graph

436 Commits

Author SHA1 Message Date
Mark Paluch
60fd8420a9 Polishing.
Fix test.

See #628
2021-07-21 09:55:00 +02:00
Mark Paluch
efe46f46cd Improve documentation for Modifying annotation.
Outline that the usage of this annotation leads to calling Results.getRowsUpdated() to obtain the query method result value.

Closes #629
2021-07-21 09:25:46 +02:00
Mark Paluch
eea838cbed Deprecate R2dbcCustomConversions constructor taking Collection of converters.
Creating R2dbcCustomConversions without a dialect or StoreConversions can easily lead to misconfiguration that isn't immediately obvious because of missing store simple types. We now deprecated the constructor and have added guidance on how to properly create R2dbcCustomConversions that is associated with a dialect.

Closes #628
2021-07-21 09:19:28 +02:00
Jens Schauder
d47d256e53 Prepare 1.4 M1 (2021.1.0).
See #584
2021-07-16 14:08:59 +02:00
Jens Schauder
fac386fd62 Updated changelog.
See #584
2021-07-16 14:08:48 +02:00
Jens Schauder
85baac1306 Updated changelog.
See #610
2021-07-16 10:48:18 +02:00
Jay Bryant
fe7308100a Editing.
See #616
Original pull request: #617.
2021-07-15 14:13:34 +02:00
Jens Schauder
7d858c95e4 Improve documentation about name handling.
Closes #616
Original pull request: #617.
2021-07-15 14:12:41 +02:00
Mark Paluch
8ef6fa416d Introduce OutboundRow.clone() method.
Closes #620.
2021-07-13 10:10:25 +02:00
Mark Paluch
e0d6130ac8 Updated changelog.
See #599
2021-06-22 16:07:26 +02:00
Mark Paluch
c01bd622aa Updated changelog.
See #598
2021-06-22 15:29:52 +02:00
Mark Paluch
b1f1aaf957 Fix dynamic query method projection.
Query methods returning dynamic projections based on a Class argument now properly apply projection conversion. Previously, classes not seen by the mapping context were skipped and that caused projecting query methods to return the actual entity type.

Closes #607
2021-06-22 11:21:53 +02:00
Mark Paluch
7b8c1bb0ea Polishing.
Rename method to renderForGeneratedValues to reflect its intended usage and enhance documentation.

Tweak Javadoc.

Closes: #483
Original pull request: #602.
2021-06-11 08:42:58 +02:00
Jens Schauder
c86825740b Registration of columns for generated keys is now dialect dependent.
Different R2DBC drivers expect generated keys when they are in camel case to be quoted or unquoted.
This can now be controlled by implementing `Dialect.renderForGeneratedKeys`.

Closes: #483
Original pull request: #602.
2021-06-11 08:27:15 +02:00
Mark Paluch
a3eb131bc7 Refine conversion directions between boolean and byte using MySQL/MariaDB.
ByteToBooleanConverter is now marked as reading converter and we've added a writing converter with BooleanToByteConverter to ensure proper conversion. Previously, all byte values were converted to boolean resulting in data precision loss.

Closes #589
2021-05-19 10:37:10 +02:00
Mark Paluch
3cefe0bc96 Updated changelog.
See #582
2021-05-14 12:36:38 +02:00
Mark Paluch
f6e2836009 Updated changelog.
See #581
2021-05-14 12:06:41 +02:00
Mark Paluch
673256199c Refactor query method execution to use R2dbcEntityTemplate.
Repository query methods are now executed through R2dbcEntityTemplate to participate in entity callbacks.
Previously, query methods were executed directly using DatabaseClient which didn't allow for entity callbacks.

Closes #591
2021-05-04 14:45:51 +02:00
Mark Paluch
56ec512515 Polishing.
Introduce assertions for OutboundRow.

Closes #593
2021-05-04 09:03:32 +02:00
Mark Paluch
016aab33f2 Correctly translate absent convertible enum values to String[] using Postgres.
We now correctly obtain the target type for a persistent property that should be converted into an array value prior to constructing Parameter.
Previously, we fell back to the actual type without considering potential converters which left collection-like enum properties without a value with the enum array type that was potentially not supported by the database driver.

Closes #593
2021-05-04 09:03:32 +02:00
Mark Paluch
b140d18485 Remove Jasync from tests.
Jasync does not support MySQL's 8.0 caching_sha2_password and there are no plans to support it.

See #594.
2021-05-03 15:02:57 +02:00
Mark Paluch
66f14f2ea4 Upgrade to MySQL 8.0.
Switch to a newer MySQL version to use TLSv1.2 as newer JRE versions no longer support TLSv1/TLSv1.1.

Closes #594.
2021-05-03 15:02:48 +02:00
Mark Paluch
7e13e30a87 Polishing.
Add unit test.

See #587.
2021-04-22 11:46:38 +02:00
Grayswan4
c126d6defe PreparedOperationBindableQuery.bindNull(…) should call bindSpec.bindNull(…).
The wrong call is not caught by the compiler due to a bind method that has a signature of (String name, Object value).
Previously, bindNull(…) called bind(…).

Closes #587.
2021-04-22 11:45:38 +02:00
Mark Paluch
f69bc98131 Eagerly check for custom converters when reading rows.
We now eagerly check for the presence of custom converters, before attempting to materialize a nested entity when reading a Row.

Closes #585
2021-04-21 09:21:00 +02:00
Mark Paluch
ff83d808db Prepare 1.3 GA (2021.0.0).
See #571
2021-04-14 14:18:21 +02:00
Mark Paluch
db9f167c27 Updated changelog.
See #571
2021-04-14 14:18:13 +02:00
Mark Paluch
ecafd6bf6f Updated changelog.
See #572
2021-04-14 11:43:30 +02:00
Mark Paluch
39f182ecba Updated changelog.
See #563
2021-04-14 11:17:38 +02:00
Mark Paluch
635f30a865 Include Entity-state detection documentation snipped from Commons.
Closes #579
2021-04-13 15:20:39 +02:00
Mark Paluch
5397152ae9 Polishing.
Reformat integration test.

See #573
Original pull request: #574.
2021-04-06 12:59:54 +02:00
AbstractCoder
b7f9d7cafa Add Interval to Postgres simple types.
io.r2dbc.postgresql.codec.Interval is now considered a simple type.

Closes #573
Original pull request: #574.
2021-04-06 12:54:50 +02:00
Mark Paluch
41c8a87c2c Updated changelog.
See #564
2021-03-31 18:30:43 +02:00
Mark Paluch
54bef33630 Prepare 1.3 RC1 (2021.0.0).
See #562
2021-03-31 17:04:34 +02:00
Mark Paluch
33a69c6cd8 Updated changelog.
See #562
2021-03-31 17:04:27 +02:00
Mark Paluch
0cd2f9a7f3 Adapt tests to Kotlin 1.3 language pinning.
Closes #570
2021-03-30 09:09:28 +02:00
Mark Paluch
e6b46fd781 Update R2dbcEntityTemplate.selectOne() mentioning IncorrectResultSizeDataAccessException.
Closes #566
2021-03-18 09:54:44 +01:00
Mark Paluch
d5f49b19ab Enable Oracle integration tests.
Closes #560
2021-03-18 09:30:02 +01:00
Mark Paluch
f574c1d2cc Prepare 1.3 M5 (2021.0.0).
See #541
2021-03-17 11:17:26 +01:00
Mark Paluch
e1e95e3972 Updated changelog.
See #541
2021-03-17 11:17:18 +01:00
Mark Paluch
5a69a91b1b Updated changelog.
See #543
2021-03-17 11:03:38 +01:00
Mark Paluch
c0a0e96c85 Updated changelog.
See #539
2021-03-17 10:35:11 +01:00
Mark Paluch
70c0e305bc Polishing.
See #557
2021-03-17 09:04:54 +01:00
Mark Paluch
855170cefc Move default Id value cleanup on insert from Converter into R2dbcEntityTemplate.
We now check in R2dbcEntityTemplate whether we need to skip the Id value if its value is null or a primitive using its default. Previously, the check was located in the converter. Converting an entity afteri ncrementing the version of a versioned entity would write the Id value as the entity was no longer considered to be new.

Closes #557.
2021-03-17 09:00:53 +01:00
Mark Paluch
055baaf1d7 Polishing.
Make count assertions case-insensitive regarding the count column name. Add missing license headers. Support DatabaseContainer without a database name.

See #230
2021-03-15 10:17:12 +01:00
Mark Paluch
b7a7c2c071 Add support for Oracle's R2DBC driver.
We support Oracle's experimental R2DBC driver by providing a dialect including bind markers. Since the driver is not yet available from Maven Central and it requires module-path support for ServiceLoader discovery, we need to apply a few workarounds including absence check for our integration tests.

See #230
2021-03-15 10:14:55 +01:00
Mark Paluch
174c5bdb56 Call Statement.returnGeneratedValues(…) using the ID column name.
We now call Statement.returnGeneratedValues(…) with the primary key column name to ensure consistent behavior across all drivers and to avoid non-portable behavior.

Closes #558
2021-03-15 10:05:35 +01:00
Mark Paluch
0c20272e9b Fully consume insert response.
R2dbcEntityTemplate.insert(…) now fully consumes the response from the INSERT call before continuing. Previously, we consumed only the first signal and continued then. A driver could emit a row and then an error signal and so the error signal would go unnoticed.

Closes #552.
2021-03-09 16:11:07 +01:00
Greg L. Turnquist
d9d92068e5 Polishing.
Related #532.
2021-03-04 18:38:19 -06:00
Greg L. Turnquist
38311c90a9 Polishing. 2021-03-04 15:10:43 -06:00