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] [Created] (DERBY-6387) Incorrect ordering of triggers in dblook
Date Tue, 22 Oct 2013 12:48:41 GMT
Knut Anders Hatlen created DERBY-6387:
-----------------------------------------

             Summary: Incorrect ordering of triggers in dblook
                 Key: DERBY-6387
                 URL: https://issues.apache.org/jira/browse/DERBY-6387
             Project: Derby
          Issue Type: Bug
          Components: Tools
    Affects Versions: 10.10.1.1
            Reporter: Knut Anders Hatlen


The order in which triggers fire, is partly determined by the order in which they are created.

See here:

http://db.apache.org/derby/docs/10.10/ref/rrefsqlj43125.html

|   When multiple triggers are defined for the same database event for
|   the same table for the same trigger time (before or after), triggers
|   are fired in the order in which they were created.

And here:

SQL:2003, part 2, section 4.38.1 General description of triggers:

|   The order of execution of a set of triggers is ascending by value of
|   their timestamp of creation in their descriptors, such that the
|   oldest trigger executes first.

Since the order of creation matters, dblook should generate CREATE TRIGGER statements in an
order that preserves the original order of execution.

dblook currently generates CREATE TRIGGER statements in the order returned by a SELECT query
against SYS.SYSTRIGGERS. The SELECT query does not have an ORDER BY clause, so it is not guaranteed
to return the rows in a specific order.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message