Skip to content

Upgrade client support to R2DBC 0.9 #28059

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

Merged
merged 1 commit into from
Mar 16, 2022
Merged

Conversation

mp911de
Copy link
Member

@mp911de mp911de commented Feb 16, 2022

  • DatabaseClient.map(…) now a mapping Function for Readable to consume tabular and stored procedure results (via OutParameters). Also, DatabaseClient.flatMap(…) allows consuming individual segments from a response (update counts, database messages, rows, out parameters).
  • R2dbcTransactionManager now supports extensible transaction definitions to provide all transaction attributes upon transaction start
  • We use consistently R2DBC's Parameters instead of our own Parameter type. Our own Parameter is deprecated now.
  • Switch to Long for update operations in preparation for R2DBC 1.0

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Feb 16, 2022
@sbrannen sbrannen requested a review from jhoeller February 16, 2022 10:04
@sbrannen sbrannen added in: data Issues in data modules (jdbc, orm, oxm, tx) type: enhancement A general enhancement labels Feb 16, 2022
@sbrannen sbrannen added this to the 6.0.0-M3 milestone Feb 16, 2022
@sbrannen sbrannen removed the status: waiting-for-triage An issue we've not yet triaged or decided on label Feb 16, 2022
@jhoeller jhoeller self-assigned this Feb 18, 2022
@jhoeller
Copy link
Contributor

@mp911de This looks good to me so far, pretty much the only complaint I have is the use of StringBuffer (instead of StringBuilder) in ExtendedTransactionDefinition... Oh, and we seem to have a conflict in DefaultDatabaseClientUnitTests in the meantime.

From my perspective, we could include this in 6.0 M3 tomorrow. Any updates you'd like to make still? Any chance you could rebase and possibly squash the PR into one commit?

@jhoeller
Copy link
Contributor

Also, this fully addresses #27976 as far as I can see? Do we foresee anything left to do for R2DBC 0.9 beyond this PR? I guess it's rather going to be about R2DBC 1.0 then...

@mp911de
Copy link
Member Author

mp911de commented Mar 16, 2022

Happy to take care of both. R2DBC 0.9 baseline support is done after this PR is merged. I expect some future requests from users around stored procedures consumption once we have a broader R2DBC 0.9 adoption but time has to prove me right or wrong.

Adopt to R2DBC Parameter type, deprecate our own one in favor of the R2DBC type.
Add support for extensible transaction definitions and support to consume Readable and result segments.
Return Long instead of Integer in DatabaseClient update in preparation for R2DBC 1.0 changes.
@jhoeller jhoeller added the type: dependency-upgrade A dependency upgrade label Mar 16, 2022
@jhoeller jhoeller merged commit a3781a4 into spring-projects:main Mar 16, 2022
@jhoeller
Copy link
Contributor

Thanks, @mp911de! Merged for inclusion in 6.0 M3 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: data Issues in data modules (jdbc, orm, oxm, tx) type: dependency-upgrade A dependency upgrade type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants