[ 
https://issues.apache.org/jira/browse/DERBY-326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dag H. Wanvik updated DERBY-326:
--------------------------------

    Derby Categories: [Performance]

> Improve streaming of large objects for network server and client
> ----------------------------------------------------------------
>
>                 Key: DERBY-326
>                 URL: https://issues.apache.org/jira/browse/DERBY-326
>             Project: Derby
>          Issue Type: Improvement
>          Components: Network Client, Network Server
>    Affects Versions: 10.1.2.1
>            Reporter: Kathey Marsden
>            Assignee: Tomohito Nakayama
>             Fix For: 10.2.1.6
>
>         Attachments: ClobTest.zip, DERBY-326.patch, DERBY-326_2.patch, 
> DERBY-326_3.patch, DERBY-326_4.patch, DERBY-326_5.patch, 
> DERBY-326_5_indented.patch, DERBY-326_6.patch, DERBY-326_7.patch, 
> DERBY-326_8.patch, DERBY-326_9.patch, 
> ReEncodedInputStream.java.modifiedForLongRun
>
>
> Currently the stream writing  methods in network server and client require a  
> length parameter. This means that we have to get the length of the stream 
> before sending it. For example in network server in EXTDTAInputStream we have 
> to use getString and getbytes() instead of getCharacterStream and 
> getBinaryStream so that we can get the  length.
> SQLAM Level 7 provides for the enhanced LOB processing to allow streaming 
> without indicating the length, so, the writeScalarStream methods in
> network server DDMWriter.java and network client Request.java can be changed 
> to not require a length.
> Code inspection of these methods seems to indicate that while the length is 
> never written it is used heavily in generating the DSS. One strange thing is 
> that it appears on error, the stream is padded out to full length with zeros, 
> but an actual exception is never sent.  Basically I think perhaps these 
> methods need to be rewritten from scratch based on the spec requirements for 
> lobs.
> After the writeScalarStream methods have been changed, then EXTDAInputStream 
> can be changed to properly stream LOBS. See TODO tags in this file for more 
> info.  I am guessing similar optimizations available in the client as well, 
> but am not sure where that code is.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to