db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2017) Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length
Date Wed, 17 Mar 2010 21:53:27 GMT

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

Knut Anders Hatlen commented on DERBY-2017:
-------------------------------------------

I agree that it would be good to get the same error on both drivers for the situations above.

The situation I had in mind was slightly different. I was thinking of the case where the user
stream throws an exception when it's read. In the current code, I believe that both the client
driver and the embedded driver will expose the original exception thrown by the user stream.
If we disable the accumulation of exceptions, will we then instead see the below exception
on the client?

+            case DRDAConstants.STREAM_READ_ERROR:
+            case DRDAConstants.STREAM_READ_ERROR_ON_LEN_VAL:
+                throw new IOException("Read error on client side when " +
+                        "reading user stream");

My preference would be that we continued to report the original exception in such a situation.

> 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: Kristian Waagan
>         Attachments: derby-2017-2a-regression_test.diff, derby-2017-stream_status_preview.diff,
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.


Mime
View raw message