Skip to content
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

32 lob prefetch #36

Merged
merged 9 commits into from Jul 20, 2021
Merged

32 lob prefetch #36

merged 9 commits into from Jul 20, 2021

Conversation

Michael-A-McMahon
Copy link
Member

Changes in this branch allow Oracle R2DBC to support BLOB to ByteBuffer and CLOB to String mappings. This is supported by configuring Oracle JDBC to use a large LOB prefetch size by default. For typically sized LOB values, the prefetch will be large enough that Oracle Database can return the entire value embedded within the row data messages it sends back to Oracle JDBC. If the entire value is prefetched, then Oracle R2DBC's Row implementation can request it from Oracle JDBC without triggering a blocking database call that fetches the remainder of the LOB value.

The prefetch size is now supported as a ConnectionFactory Option. For systems where LOB values are too large to be prefetched, the Option can be configured with a smaller size, and the LOB value can be streamed using a Blob or Clob object.

@jeandelavarene jeandelavarene merged commit 42bf658 into main Jul 20, 2021
@jeandelavarene jeandelavarene deleted the 32_lob_prefetch branch July 20, 2021 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mapping Blob/Clob to ByteBuffer/String is not supported
2 participants