We now issue a COUNT(1) respective SELECT 1 for COUNT queries and EXISTS queries for entities that do not specify an identifier.
Previously these query projections could fail because of empty select lists.
Closes#773
We now use concatMap on result Fluxes to retain the object order. Previously, we used flatMap on a flux that has led to changes in element ordering.
Closes#777
We now properly bind values for reused named parameters correctly when using anonymous bind markers (e.g. ? for MySQL). Previously, the subsequent usages of named parameters especially with IN parameters were left not bound.
Closes#778
We now translate isTrue/isFalse criteria values if their actual value is not provided.
The more correct approach would be setting a value in Criteria.
Closes#733
Refactored the assertions towards a custom assertion class, taking care of limited parsing of the generated SQL statements.
Original pull request spring-projects/spring-data-r2dbc/pull/691
The order of selected columns depended on the nondeterministic behavior of getDeclaredFields.
Original pull request spring-projects/spring-data-r2dbc/pull/691
We now check in all places where we optionally use the Id property that an entity actually has an Id property and fall back leniently if the entity doesn't have an identifier property.
Also, we use IdentifierAccessor consistently if the property is an identifier property.
See #711
We now use reflection to call RowMetadata.getColumnMetadatas to avoid NoSuchMethodError when using R2DBC 0.9 as the return type has changed in newer R2DBC versions.
Closes#699
We now unwrap Parameter objects containing type and value for bind parameters when binding these from within a PreparedOperation to a statement.
PreparedOperation objects are expected to use low-level R2DBC API (bind, bindNull) instead of using the Parameter abstraction. Previously, we tried to bind Parameter objects to R2DBC Statements and that has failed as drivers cannot encode Spring's Pararameter type.
Closes#694
Remove unused imports. Use more explicit lambda parameter naming.
Also, adopt tests to changed Spring Data Relational SQL generation.
Original pull request: #690.
See #689