Re: Weird problem : Trigger not executed in background.

Pushyamitra Navare <[email protected]> Thu, 20 Apr 2006 09:52:52 +0530
Newsgroups gmane.comp.db.mysql.bugs
Message-ID <[email protected]>
On Saturday 15 April 2006 01:13, Valeriy Kravchuk wrote:

> What storage engine is used for tables t1 and t2?
The storage engine used was the default one: "MyISAM".

> > 1. I have added a trigger to be called AFTER insert on a table (t1), which
> > adds a row into another table(say t2).
> > 2. Client connects to the table t1 and inserts desired row and closes
> > connection normally.
> > 3. If client is terminated in between, or more generally : If trigger
> >operation is not completed before client closes the connection after
> >inserting row in t1, database goes in inconsistent state :  we have a row 
> >in
> >table t1 but not the desired row in t2.
> > Should not it be atomic: add a row in table t1 and call trigger(which
> > adds the row to t2), or do nothing.
>

> Yes, for InnoDB (or for any storage engines that support transactions, at
> least).

What does that mean? Is it not atomic for other storage-engines?


> I need a complete test case and version of MySQL server used.
It is : Ver 14.12 Distrib 5.0.15, for pc-linux-gnu (i686) using readline 5.0

Test case is this:
1. Add a trigger to be called AFTER insert on a table (t1),  which adds a row 
into another table(say t2).

( 2. Clients are supposed to connect to the table t1 and inserts desired row )

3.  Terminate client, before trigger operation is entirely complete: add wait 
or have a very big table which will make sure that trigger operation takes 
some time.

Observed behaviour: 
 If client is terminated in between, or more generally : If trigger
 operation is not completed before client closes the connection after
 inserting row in t1, database goes in inconsistent state :  we have a row
in  table t1 but not the desired row in t2.

Best regards,
Pushya

-- 
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe:    http://lists.mysql.com/[email protected]