[ http://issues.apache.org/jira/browse/DERBY-2017?page=all ]
Knut Anders Hatlen updated DERBY-2017: -------------------------------------- Attachment: StreamErrRepro.java Attached a repro which shows the problem when using PreparedStatement.setCharacterStream() with a stream that is longer than the specified length. The embedded driver aborts the query and throws "java.sql.SQLException: An IOException was thrown when reading a 'java.sql.String' from an InputStream." The client driver completes the query (inserts a row) and throws "java.sql.SQLException: Network protocol error: the specified size of the InputStream, parameter #1, is less than the actual InputStream length." The client driver should abort the the query and not insert the row. > Client driver can insert and commit partial data when a LOB stream throws > IOException or does not match the specified length > ---------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-2017 > URL: http://issues.apache.org/jira/browse/DERBY-2017 > Project: Derby > Issue Type: Bug > Components: JDBC, Network Client > Affects Versions: 10.2.1.6 > Reporter: Knut Anders Hatlen > Attachments: StreamErrRepro.java > > > When a LOB stream throws an exception or does not match the specified length, > the client driver does not raise an exception until it has finished executing > the statement. Therefore, the statement will be executed (and possibly > committed) on the server even though the client reports that the statement > failed. -- 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