[
https://issues.apache.org/jira/browse/DERBY-326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden closed DERBY-326.
--------------------------------
Resolution: Fixed
Fix Version/s: 10.2.1.6
It looks like these improvements were made in 10.2. New issues can be opened
up for any additional streaming improvements.
> 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, Performance
> 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.