[ 
https://issues.apache.org/jira/browse/DERBY-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501180
 ] 

Mayuresh Nirhali commented on DERBY-2017:
-----------------------------------------

Thanks narayanan for your comments.

As I mentioned earlier, this patch is incomplete. I was aware of 2) and 3) from 
your comments, but wanted to put up a prototype for this different approach, so 
that it is clear; hence the patch. 

But, with 1) that I missed, I see the challenges with this approach. 
Materializing large streams at client side is not preferred at all. 

However, length must be known in order to construct appropriate DSS. JDBC 3.0 
spec hints that the length specified in setBinaryStream should be equal to the 
length of the stream. Validating this is preferred at Client side to avoid the 
cost of data transfer in such error cases.

Making the behavior consistent with the embedded is tricky here due to the 
client-server nature.

... looking for more inputs.

> 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: https://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
>            Assignee: Mayuresh Nirhali
>         Attachments: derby2017_try1.diff, Derby_2017_v1.diff, 
> Derby_2017_v1.stat, 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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to