[ 
https://issues.apache.org/jira/browse/DERBY-4531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899549#action_12899549
 ] 

Dag H. Wanvik commented on DERBY-4531:
--------------------------------------

Lance informs me that the spec is silent on this, but that the JDBC 3.0 book 
says: 

"length - the number of bytes to be read from the stream & sent to the 
database.  Note that if the stream contains more or less bytes than are 
specified in length, an exception is thrown".

If we want to go this way, we would need to change both drivers, increasing 
potential for breaking existing apps that supply too long streams.
Any thoughts on which way to go? Lance said he's check what other vendors do. 

> Client setCharacterStream closes its Reader argument stream in finalizer
> ------------------------------------------------------------------------
>
>                 Key: DERBY-4531
>                 URL: https://issues.apache.org/jira/browse/DERBY-4531
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 
> 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>         Attachments: derby-4531-1a-test_workaround.diff, derby-4531.diff, 
> Repro.java
>
>
> The javadoc for PreparedStatement.setCharacterStream does not specify that 
> the stream passed in will be closed, only that it will read to the number of 
> characters specified.
> For the embedded driver, the stream is not closed after execution; the client 
> driver, however, will close the stream when the internal stream object 
> EncodedInputStream is garbage collected, which can happen any time after the 
> statement has been executed.
> I am not sure this a bug vs. the JDBC specification, but it would be nice to 
> harmonize client and embedded behavior on this.

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