[ 
https://issues.apache.org/jira/browse/DERBY-2781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12502695
 ] 

V.Narayanan commented on DERBY-2781:
------------------------------------

After Derby-208 Add support to retrieve lobs for Network Server by locator 
rather than matierializing the LOB

The LOB's can no longer be accessed after transaction commit.  There were many 
tests in
BlobClob4BlobTest that were trying to access Blob's and Clob's after the 
transaction has committed.
They have now been changed in accordance with the new behaviour.

I found the following email thread relevant here

http://mail-archives.apache.org/mod_mbox/db-derby-dev/200704.mbox/[EMAIL 
PROTECTED]

> 10.2 client blobclob4blob test run against 10.3 server fails for many tests 
> with SQLSTATE(XJ073): The data in this BLOB or CLOB is no longer available. 
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2781
>                 URL: https://issues.apache.org/jira/browse/DERBY-2781
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>
> Many tests in blobclob4blob.java fail with: SQLSTATE(XJ073): The data in this 
> BLOB or CLOB is no longer available.  The BLOB/CLOB's transaction may be 
> committed, 
> Need to determine cause and if this is a bug and   evaluate how it will 
> impact existing applications.
> Found I-am-hiding-here-at-position-5910 in row 1 starting from position 1 at 
> position  NOTFOUND 
> FAIL -- unexpected exception ****************
> SQLSTATE(XJ073): The data in this BLOB or CLOB is no longer available.  The 
> BLOB/CLOB's transaction may be committed, or its connection is closed.
> SQLSTATE(38000): The exception 'java.sql.SQLException: Unable to set stream: 
> 'Reached end-of-stream prematurely'.' was thrown while evaluating an 
> expression.
> SQLSTATE(XJ022): Unable to set stream: 'Reached end-of-stream prematurely'.
> java.sql.SQLException: The data in this BLOB or CLOB is no longer available.  
> The BLOB/CLOB's transaction may be committed, or its connection is closed.
>       at 
> org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
>       at 
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
>       at org.apache.derby.client.am.Clob.position(Clob.java:463)
>       at 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.blobclob4BLOB.printPosition(Unknown
>  Source)
>       at 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.blobclob4BLOB.clobTest3(Unknown
>  Source)
>       at 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.blobclob4BLOB.main(Unknown
>  Source)
> Caused by: org.apache.derby.client.am.SqlException: The data in this BLOB or 
> CLOB is no longer available.  The BLOB/CLOB's transaction may be committed, 
> or its connection is closed.
>       at 
> org.apache.derby.client.am.CallableLocatorProcedures.handleInvalidLocator(CallableLocatorProcedures.java:1068)
>       at 
> org.apache.derby.client.am.CallableLocatorProcedures.clobGetPositionFromString(CallableLocatorProcedures.java:791)
>       at 
> org.apache.derby.client.am.CallableLocatorProcedures.clobGetPositionFromString(CallableLocatorProcedures.java:690)
>       at org.apache.derby.client.am.Clob.positionX(Clob.java:482)
>       at org.apache.derby.client.am.Clob.position(Clob.java:454)
>       ... 3 more
> Caused by: org.apache.derby.client.am.SqlException: The exception 
> 'java.sql.SQLException: Unable to set stream: 'Reached end-of-stream 
> prematurely'.' was thrown while evaluating an expression.
>       at 
> org.apache.derby.client.am.Statement.completeExecute(Statement.java:1498)
>       at 
> org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(NetStatementReply.java:304)
>       at 
> org.apache.derby.client.net.NetStatementReply.readExecuteCall(NetStatementReply.java:105)
>       at 
> org.apache.derby.client.net.StatementReply.readExecuteCall(StatementReply.java:75)
>       at 
> org.apache.derby.client.net.NetStatement.readExecuteCall_(NetStatement.java:176)
>       at 
> org.apache.derby.client.am.Statement.readExecuteCall(Statement.java:1464)
>       at 
> org.apache.derby.client.am.PreparedStatement.flowExecute(PreparedStatement.java:2158)
>       at 
> org.apache.derby.client.am.PreparedStatement.executeX(PreparedStatement.java:1578)
>       at 
> org.apache.derby.client.am.CallableLocatorProcedures.clobGetPositionFromString(CallableLocatorProcedures.java:789)
>       ... 6 more
> Caused by: org.apache.derby.client.am.SqlException: Unable to set stream: 
> 'Reached end-of-stream prematurely'.
>       at org.apache.derby.client.am.SqlException.<init>(SqlException.java:290)
>       at org.apache.derby.client.am.SqlException.<init>(SqlException.java:264)
>       ... 15 more

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