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 "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2013/12/18 14:30:11 UTC

[jira] [Commented] (DERBY-6387) Incorrect ordering of triggers in dblook

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

ASF subversion and git services commented on DERBY-6387:
--------------------------------------------------------

Commit 1551940 from [~knutanders] in branch 'code/trunk'
[ https://svn.apache.org/r1551940 ]

DERBY-6387: Incorrect ordering of triggers in dblook

Order the triggers by the CREATIONTIMESTAMP column so that dblook
produces a script that recreates the triggers in the same order as
they were originally created.

> 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
>            Assignee: Knut Anders Hatlen
>         Attachments: create-triggers.sql, d6387-1a.diff
>
>
> 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.4#6159)