Thanks Knut. I will checkin changes to the test so that we will have a db to work with the next time around the test fails.
On Thu, Sep 12, 2013 at 12:34 AM, Knut Anders Hatlen <knut.hat...@oracle.com > wrote: > Mamta Satoor <msat...@gmail.com> writes: > > > Hi, > > > > I am working on DERBY-5866( testFiringConstraintOrder > > > (org.apache.derbyTesting.functionTests.tests.lang.TriggerTest)junit.framework. > > AssertionFailedError: matching triggers need to be fired in order > > creation:1,NO CASCADE BEFORE,DELETE,ROW). The test fixture > > testFiringConstraintOrder creates handful of triggers of various types > > and expects that the triggers will be fired in the order they were > > created. Intermittently, the test fails because the order of firing > > does not match order of creation. I will change the test such that the > > next intermittent failure will leave a database behind for further > > debugging. But I was wondering if anyone knows of a scenario when > > order of firing might not be same as order of creation. Or possibly, > > this is a bug? > > Hi Mamta, > > Triggers firing out of order is a bug. > > The reference manual says they should be fired in the order of creation: > > 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. > > Also, I found this in 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. > > > -- > Knut Anders >