You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mamta A. Satoor (JIRA)" <ji...@apache.org> on 2013/06/05 08:45:38 UTC
[jira] [Commented] (DERBY-6214) PreparedStatement.setObject(int,
Object, Types.CLOB) fail with DerbyNet
[ https://issues.apache.org/jira/browse/DERBY-6214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13675638#comment-13675638 ]
Mamta A. Satoor commented on DERBY-6214:
----------------------------------------
I am looking at understanding the logic in case of network server for setString when a short string is passed and multiple rows are updated. This case works fine. I am investigating if when using setObject to set the value of a CLOB column with short string, if we can mimic the logic of setString and make setObject work for atleast short strings on CLOB column.
> PreparedStatement.setObject(int, Object, Types.CLOB) fail with DerbyNet
> -----------------------------------------------------------------------
>
> Key: DERBY-6214
> URL: https://issues.apache.org/jira/browse/DERBY-6214
> Project: Derby
> Issue Type: Bug
> Affects Versions: 10.8.3.0, 10.9.1.0
> Reporter: Rong Qu
> Assignee: Mamta A. Satoor
> Attachments: Derby6214.java, Derby6214_setup.sql, Derby6214_ver2.java, derby.log, DerbyNet_client_test.sql
>
>
> The issue is specific to the DerbyNet client driver, and doesn't seem to occur using embedded Derby.
> "PreparedStatement.setObject(int, Object, Types.CLOB)". It seems to be a problem updating a CLOB column with a parameterized value using the DerbyNet client driver, and if the update SQL ends up updating more than one row. I attached a simple test case that just uses JDBC to reproduce the error. The exception looks like this:
> org.apache.derby.client.am.BatchUpdateException: Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch. Use getNextException() to retrieve the exceptions for specific batched elements.
> at org.apache.derby.client.am.Agent.endBatchedReadChain(Unknown Source)
> at org.apache.derby.client.am.PreparedStatement.executeBatchRequestX(Unknown Source)
> at org.apache.derby.client.am.PreparedStatement.executeBatchX(Unknown Source)
> at org.apache.derby.client.am.PreparedStatement.executeBatch(Unknown Source)
> ...
> Caused by: org.apache.derby.client.am.SqlException: Error for batch element #0: An unexpected exception was thrown
> at org.apache.derby.client.am.Statement.completeExecute(Unknown Source)
> at org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown Source)
> at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown Source)
> at org.apache.derby.client.net.StatementReply.readExecute(Unknown Source)
> at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown Source)
> at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown Source)
> ... 4 more
> Caused by: org.apache.derby.client.am.SqlException: Error for batch element #0: Java exception: 'Stream has already been read and end-of-file reached and cannot be re-used.: java.io.EOFException'.
> at org.apache.derby.client.am.SqlException.<init>(Unknown Source)
> at org.apache.derby.client.am.SqlException.<init>(Unknown Source)
> ... 10 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira