[
https://issues.apache.org/jira/browse/DERBY-3918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mamta A. Satoor updated DERBY-3918:
-----------------------------------
Urgency: Normal
Labels: CLOB derby_triage10_11 (was: CLOB)
> Improve transfer buffer utilization for Clobs
> ---------------------------------------------
>
> Key: DERBY-3918
> URL: https://issues.apache.org/jira/browse/DERBY-3918
> Project: Derby
> Issue Type: Improvement
> Components: JDBC, Network Server
> Affects Versions: 10.5.1.1
> Reporter: Kristian Waagan
> Priority: Minor
> Labels: CLOB, derby_triage10_11
>
> Read DERBY-3769 for details.
> Briefly, for Clobs containing ASCII characters the content is sent over the
> network in smaller chunks than necessary. The reason is because the network
> server is unaware of how many bytes a range of characters results in when
> they are encoded as modified UTF-8. As exceeding the maximum size is very
> costly, a defensive assumption of 3 bytes per char is used. This leads to
> sending only 10890 bytes over the wire per round-trip instead of up to 32672
> for ASCII content.
> The same goes for Clobs with chars encoded by 2 bytes, or Clobs with mixed
> content.
> A few ideas on how to solve this:
> - read chars in chunks, look at each char to calculate byte length and read
> chars until byte buffer will be filled sufficiently
> - add new method to Engine[C]LOB
> - rewrite implementation to work on the byte level instead of the character
> level (this would be an internal API only)
> - add and make use of more information about the Clob content, i.e. if it
> consists of only 1 byte per char encodings.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira