[ 
https://issues.apache.org/jira/browse/DERBY-3583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584193#action_12584193
 ] 

Kathey Marsden commented on DERBY-3583:
---------------------------------------

When I implemented this change I saw test failures when caling getClob() more 
than once, for example in BlobClob4BLOBTest
 if (origRS.getClob(1) != null) {
                assertEquals("FAIL - Invalid checksum for row trigger",
                        getStreamCheckSum(origRS.getClob(1).getAsciiStream()),
                        getStreamCheckSum(trigARS.getClob(1).getAsciiStream()));

I guess that DERBY-2892 by itself does not restrict multiple calls to getClob() 
or getBlob(), but only restricts getString(), getBytes(), getCharacterStream() 
and getBinaryStream(), because they free the locator.   I wonder if this change 
should restrict getBlob() and getClob() calls as well or should it continue to 
allow multiple calls.  Thoughts?



> Derby should throw a better error message if a BLOB/CLOB column is accessed 
> more than once
> ------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3583
>                 URL: https://issues.apache.org/jira/browse/DERBY-3583
>             Project: Derby
>          Issue Type: Improvement
>            Reporter: Kathey Marsden
>            Assignee: Kathey Marsden
>            Priority: Minor
>
> With the DERBY-2892 fix  revision 642974, users can no longer access a 
> BLOB/CLOB column more than once for each row.  Currently the error message is
> XJ217 - You cannot invoke other java.sql.Clob/java.sql.Blob methods after 
> calling the free() method or after the Blob/Clob's transaction has been 
> committed or rolled back.
> I don't know that that makes sense given the user called getString()
> For getCharacterStream()/getBinaryStream() there is no error on the call, 
> just an IOException on the read.
> We should throw a clearer error message, that the user is not allowed to make 
> multiple getXXX calls on a BLOB/CLOB column for each row.

-- 
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