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-160) Foreign key constraint failure closes the cursors in embedded mode but not in Network Server mode
Date Wed, 18 Aug 2010 13:30:16 GMT

    [ https://issues.apache.org/jira/browse/DERBY-160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899844#action_12899844

Knut Anders Hatlen commented on DERBY-160:

JDBC 4 added a new meta-data call to tell how the drivers behave on error: DatabaseMetaData.autoCommitFailureClosesAllResultSets().
The embedded driver returns true and the client driver returns false. See DERBY-3422.

> Foreign key constraint failure closes the cursors in embedded mode but not in Network
Server mode
> -------------------------------------------------------------------------------------------------
>                 Key: DERBY-160
>                 URL: https://issues.apache.org/jira/browse/DERBY-160
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions:
>            Reporter: Mamta A. Satoor
> When running embedded Derby in autocommit true mode(default), a foreign key violation
closes the open cursors. But the cursors remain open after the foreign key violation when
Derby is running in Network Server. Following code can be tried in ij for embedded and network
server to see the behavior difference.
> create table tableWithPrimaryKey (c1 int not null, c2 int not null, constraint pk primary
> create table tableWithConstraint (c1 int, c2 int, constraint fk foreign key(c1,c2) references
> create table t1 (c11 int, c12 int);
> insert into t1 values (1,1), (2,2), (3,3);
> insert into tableWithPrimaryKey values (1, 1), (2, 2), (3, 3), (4, 4);
> insert into tableWithConstraint values (1, 1), (2, 2), (3, 3), (4, 4);
> get cursor c1 as 'select * from t1';
> next c1;
> -- In both embedded and Network server modes, delete below will throw exception "ERROR
23503: DELETE on 
> -- table 'TABLEWITHPRIMARYKEY' caused a violation of foreign key constraint 'FK' for
key (1,1).  
> -- The statement has been rolled back."
> delete from tableWithPrimaryKey;
> -- In embedded mode, next on cursor below throws exception "ERROR XCL16: ResultSet not
open, operation 'next' not
> -- permitted. Verify that autocommit is OFF." But in Network Server mode, the cursor
is still open and 
> -- next c1 spits out contents of next row.
> next c1;

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message