[
https://issues.apache.org/jira/browse/DERBY-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466994
]
Saurabh Vyas commented on DERBY-2017:
-------------------------------------
Thanks Kristian for bringing this issue to attention and another round of
discussion over it.
Till now, according to my approach, While an error occurs, in the network mode,
the complete transaction will be rolled back. This is to make sure that Data is
in consistent state, but this approach also rollbacks some correct operations
on database (all insert, updates & delete prior to the erroneous statement).
This behavior is is different from that of the embedded mode.
To make the consistent behavior for both embedded & network mode, there should
be an mechanism by which the client should be able to communicate to server
that the last operation is invalid & only this operation has to be reverted.
This implies that at the time of error rather than ignoring the read error, the
client need to fire another statement to revert the current changes done at
server (currently client calls connection_.writeCommitSubstitute_(); ). So how
should we go ahead for this approach ?
> 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
> Assigned To: Saurabh Vyas
> Attachments: 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.