On some occasions where col in (:args) contain a really lot args, 10k+ for instance, this commit fixes a performance (high CPU) bug by NOT traversing the whole map in basically O(n^2) manner
Signed-off-by: Mikhail Fedorov <mfedorov761@gmail.com>
Squashed by Jens Schauder
Original pull request #2050
Extract SequenceEntityCallbackDelegate from IdGeneratingBeforeSaveCallback. Renameto IdGeneratingEntityCallback and move callback to convert package.
Align return values and associate generated sequence value with the entity. Fix test. Add ticket references to tests.
Extract documentation partials.
See #1955
Original pull request: #2028
Sequence details are now maintained on the property level instead of using the entity level. This is a more accurate representation of the underlying model and that properties are annotated and not entities. It also allows future extension of expanding sequence support to general properties.
Extract delegate for sequence generation. Move types to org.springframework.data.jdbc.core.convert to resolve package cycles.
See #2003
Original pull request: #2005
Refine assignment flow and use early returns where possible. Cache empty MapSqlParameterSource. Reduce dependency on RelationalMappingContext using a lower-level abstraction signature. Simplify names. Use default value check from Commons. Fix log warning message. Add missing since tags.
Remove superfluous annotations and redundant code. Tweak documentation wording.
Closes#2003
Original pull request: #2005
Reference issues in tests comments.
Removed `DisabledOnDatabase`
IdGeneration default methods related to sequence generation are now internally consistent.
Formatting and naming.
IdGeneration offers simple support by default.
Fix exception in oracle integration test setup
Use SqlIdentifier for sequence names
Remove SEQUENCE id source
Added documentation
See #1923
Original pull request #1955
Ids can be annotated with @Sequence to specify a sequence to pull id values from.
Closes#1923
Original pull request #1955
Signed-off-by: mipo256 <mikhailpolivakha@gmail.com>
Some accidential changes removed.
Signed-off-by: schauder <jens.schauder@broadcom.com>
Fix merge problems.
Execute tests only for HsqlDb.
Refactoring to use lists instead of streams.
We try to avoid the latter, since they are prone to cause performance issues.
Minor refactorings.
See #771
See #230
Original pull request #1486
Mainly reimplements the changes undone in 49e343fe8a.
The check for presence of the ID property is implemented for all variants for save, as it should.
See #1924
Original pull request #1925
This undos the changes to `JdbcAggregateTemplate` done by 7cf81ae.
Since we are in the RC phase I opt against trying to redo the refactoring
Closes#1924
We gather immutable entities of which the id has changed, in order to set them as values in the parent entity.
We now also gather unchanged entities.
So they get set with the changed one in the parent.
Closes#1907
Original pull request: #1920
Simplify R2DBC expression handling. Use new ValueExpression API instead of holding parameter binding duplicates.
Reformat code. Add author tags.
See #1904
Original pull request: #1906
byte[] is mapped to BINARY data and is not considered tuple data.
The explicit check for byte[] is not very nice but matches the special handling in MappingJdbcConverter.writeJdbcValue
Closes#1900
Original pull request: #1903