db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <derby-...@db.apache.org>
Subject [jira] Created: (DERBY-1621) Trigger action statement is not recompile when there is a change that would affect it.
Date Tue, 01 Aug 2006 16:22:15 GMT
Trigger action statement is not recompile when there is a change that would affect it.
--------------------------------------------------------------------------------------

                 Key: DERBY-1621
                 URL: http://issues.apache.org/jira/browse/DERBY-1621
             Project: Derby
          Issue Type: Bug
          Components: SQL
    Affects Versions: 10.2.0.0
            Reporter: Daniel John Debrunner
            Priority: Critical
             Fix For: 10.2.0.0


A trigger action statement, such as an INSERT statement is not recompiled when there is some
DDL change on the underlying table, such as a CREATE INDEX.

In the example below a unique index is added to the table (t2) inserted into by the trigger's
action statement. When the tirgger fires it does not raise any error (should raise a unique
constraint violated error) and does not insert the value into the index. A select from t2
does not show the additional rows in t2 as it is performing an index scan, once the index
is dropped the rows appear to the select.

ij version 10.2
ij> connect 'jdbc:derby:cs;create=true';
ij> create table t (i int);
0 rows inserted/updated/deleted
ij> create table t2 (i int);
0 rows inserted/updated/deleted
ij> create trigger tt after insert on t for each statement mode db2sql
insert into t2 values 1;
0 rows inserted/updated/deleted
ij> insert into t values 1;
1 row inserted/updated/deleted
ij> select * from t2;
I
-----------
1

1 row selected
ij> create unique index tu on t2(i);
0 rows inserted/updated/deleted
ij> insert into t values 1;
1 row inserted/updated/deleted
ij> select * from t2;
I
-----------
1

1 row selected
ij> insert into t values 1;
1 row inserted/updated/deleted
ij> select * from t2;
I
-----------
1

1 row selected
ij> drop index tu;
0 rows inserted/updated/deleted
ij> select * from t2;
I
-----------
1
1
1

3 rows selected

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message