[
http://issues.apache.org/jira/browse/DERBY-815?page=comments#action_12364831 ]
A B commented on DERBY-815:
---------------------------
Good catch. Actually, I think the error in embedded mode is probably correct,
given the repro I posted. When we insert the 3rd row, we do two setBlobs and
two setClobs; for the fourth row, we do a setNull for one of the blobs and for
one of the clobs (params 7 and 9) but do not re-set the others (params 6 and
8), and hence this error occurs because we're trying to re-use the lob streams.
If you add the following two lines to the block for the 4th row:
pSt.setBlob(6, rs.getBlob(6));
pSt.setClob(8, rs.getClob(8));
then the test case will pass with embedded and still show the regression hang
against the client. As for why the client didn't throw an error, I think it's
because materialization of the lobs occurs on the client/server, so we're not
reusing a "stream" per se, we're just reusing the materialized versions of the
lobs. I believe this is related to DERBY-326 and DERBY-550... (thanks to
Sunitha for the pointers!).
> Prevent unneeded object creation and excessive decoding in parseSQLDTA_work()
> -----------------------------------------------------------------------------
>
> Key: DERBY-815
> URL: http://issues.apache.org/jira/browse/DERBY-815
> Project: Derby
> Type: Sub-task
> Components: Network Server, Performance
> Versions: 10.1.1.0, 10.1.1.1, 10.1.1.2, 10.1.2.0, 10.1.2.1, 10.1.3.0,
> 10.1.2.2, 10.0.2.2
> Reporter: Knut Anders Hatlen
> Priority: Minor
> Fix For: 10.2.0.0
> Attachments: d815_regress.diff, d815_regress.java, d815_regress.stat,
> d815_regress_derbyall_report.txt, derby-815.diff, derby-815.stat, derby.log,
> derbyall_report.txt
>
> Reported by Kathey Marsden in DERBY-212:
> In reviewing the Network Server Code and profiling there were several
> areas that showed potential for providing performance
> improvement. Functions that need optimizing to prevent unneeded object
> creation and excessive decoding: parseSQLDTA_work()
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira