[ 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