[
https://issues.apache.org/jira/browse/DERBY-6666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dag H. Wanvik resolved DERBY-6666.
----------------------------------
Resolution: Fixed
Fix Version/s: 10.11.0.0
Issue & fix info: Repro attached (was: Patch Available,Repro attached)
> Deferred constraint validation fails with "dead statement" when query plan
> logging is enabled
> ---------------------------------------------------------------------------------------------
>
> Key: DERBY-6666
> URL: https://issues.apache.org/jira/browse/DERBY-6666
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.11.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Dag H. Wanvik
> Fix For: 10.11.0.0
>
> Attachments: derby-6666.diff, derby-6666b.diff, derby-6666c.diff
>
>
> Run the following script with the {{derby.language.logQueryPlan}} system
> property set to {{true}}:
> {code:sql}
> connect 'jdbc:derby:memory:db;create=true';
> create table t1(x int primary key);
> create table t2(y int, constraint c check(y > 0) initially deferred,
> constraint fk foreign key(y) references t1 initially deferred);
> autocommit off;
> insert into t1 values -1, 1;
> insert into t2 values 1;
> update t2 set y = -1;
> delete from t1 where x = -1;
> commit;
> {code}
> The commit statement will fail with the following error message: "ERROR
> 40XC0: Dead statement. This may be caused by catching a transaction severity
> error inside this statement."
> If you run the script without setting the {{derby.language.logQueryPlan}}
> system property, it will fail (correctly) with this error message: "ERROR
> 23514: The transaction was aborted because of a deferred constraint
> violation: Check constraint identified by 'C' defined on "APP"."T2" as '(y >
> 0)'."
--
This message was sent by Atlassian JIRA
(v6.2#6252)