db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DERBY-6237) PreparedStatement.execute() fails starting 10.2 when multiple rows are updated and PreparedStatement.setCharacterStream(int, Reader, int) is used
Date Thu, 30 May 2013 21:56:20 GMT
Mamta A. Satoor created DERBY-6237:
--------------------------------------

             Summary: PreparedStatement.execute() fails starting 10.2 when multiple rows are
updated and PreparedStatement.setCharacterStream(int, Reader, int) is used
                 Key: DERBY-6237
                 URL: https://issues.apache.org/jira/browse/DERBY-6237
             Project: Derby
          Issue Type: Bug
          Components: JDBC
    Affects Versions: 10.2.2.1, 10.3.3.1, 10.4.2.1
            Reporter: Mamta A. Satoor


PreparedStatement.execute() worked on 10.1(both embedded and network server) when multiple
rows are updated and PreparedStatement.setCharacterStream(int, Reader, int) is used. In 10.2,
the embedded case stopped working for multi-row update using a prepared statement which used
PreparedStatement.setCharacterStream(int, Reader, int) with exception
java.io.EOFException: Stream has already been read and end-of-file reached and cannot be re-used.
	at org.apache.derby.iapi.types.ReaderToUTF8Stream.read(ReaderToUTF8Stream.java:185)
	at org.apache.derby.impl.store.raw.data.MemByteHolder.write(MemByteHolder.java:146)
	at org.apache.derby.impl.store.raw.data.RememberBytesInputStream.fillBuf(RememberBytesInputStream.java:135)
	at org.apache.derby.impl.store.raw.data.StoredPage.logColumn(StoredPage.java:6167)
	at org.apache.derby.impl.store.raw.data.StoredPage.logRow(StoredPage.java:3971)
	at org.apache.derby.impl.store.raw.data.UpdateOperation.writeOptionalDataToBuffer(UpdateOperation.java:255)
	at org.apache.derby.impl.store.raw.data.UpdateOperation.<init>(UpdateOperation.java:106)
	at org.apache.derby.impl.store.raw.data.LoggableActions.actionUpdate(LoggableActions.java:80)
	at org.apache.derby.impl.store.raw.data.StoredPage.doUpdateAtSlot(StoredPage.java:8549)
	at org.apache.derby.impl.store.raw.data.BasePage.updateAtSlot(BasePage.java:1178)
	at org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController.replace(GenericConglomerateController.java:479)
	at org.apache.derby.impl.sql.execute.RowChangerImpl.updateRow(RowChangerImpl.java:523)
	at org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(UpdateResultSet.java:579)
	at org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java:273)
	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:358)
	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1182)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1635)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
	at org.apache.derbyTesting.functionTests.tests.lang.MamtaJDBC.main(MamtaJDBC.java:91)


In 10.3 and 10.4, both the embedded and network server cases are broken for multi-row update
using a prepared statement which used PreparedStatement.setCharacterStream(int, Reader, int).I
still need to test 10.5 and higher. I will also add junit test cases for each of these releases
on incremental basis.

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

Mime
View raw message