[ 
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

Reply via email to