You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2014/05/11 00:12:39 UTC

[jira] [Updated] (DERBY-6568) Undocumented SET DEFAULT referential action for ON DELETE broken

     [ https://issues.apache.org/jira/browse/DERBY-6568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-6568:
---------------------------------

    Summary: Undocumented SET DEFAULT referential action for ON DELETE broken  (was: Undocumented SET DEFAULT referential action fo ON DELETE broken)

> Undocumented SET DEFAULT referential action for ON DELETE broken
> ----------------------------------------------------------------
>
>                 Key: DERBY-6568
>                 URL: https://issues.apache.org/jira/browse/DERBY-6568
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>            Reporter: Dag H. Wanvik
>
> Derby accepts the syntax for referential action SET DEFAULT, but it doesn't seem to handle it right, cf. this script
> {code}
> ij> connect 'jdbc:derby:memory:wombat;create=true';
> ij> autocommit off;
> ij> create table parent(i int , j int, constraint c1 unique(i,j));
> ij> create table child(i int default null, j int default 5, constraint c2 foreign key(i,j) references parent(i,j) on delete set default);
> ij> insert into parent values (1,10);
> ij> insert into child values (1,10);
> ij> insert into child values (default, default);
> ij> delete from parent;
> ERROR 23503: DELETE on table 'PARENT' caused a violation of foreign key constraint 'C2' for key (1,10).  The statement has been rolled back.
> ij> select * from child;
> I          |J          
> -----------------------
> 1          |10         
> NULL       |5          
> {code}
> The delete should have succeeded since the delete action is to set the defaults.



--
This message was sent by Atlassian JIRA
(v6.2#6252)