-
Notifications
You must be signed in to change notification settings - Fork 359
Basic implementation of all CRUD methods. #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Creation of the necessary sql statements is now dynamic and driven in a trivial way by the entity. Known issues with the solution that need to get fixed later: Sql generating code is in the repository and should go somewhere else. Mapping logic is very trivial and should go in a separate place.
Will get reviewed in #5 |
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
Provide DatabaseClient and add ExternalDatabase class to provide database connection details/encapsulate a dockerized testcontainer.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
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.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
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.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
We now allow typesafe and generic selection of rows.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
Move types into relational and r2dbc packages in preparation for a later module separation.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
We now provide exception translation for R2DBC exceptions based on Spring JDBC's SQLErrorCodes.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
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.
mp911de
pushed a commit
that referenced
this pull request
Feb 21, 2022
Now considers the new packages appropriately as well. consideres the `repository` package to be part of the sub-module `repository.reactive`.
mp911de
pushed a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
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(); });
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
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.
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
mp911de
added a commit
that referenced
this pull request
Feb 21, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.