Hi,  I'm developing a system which will use transactions with InnoDB. 
 In principle,  when you use transactions,  there is some risk that a 
deadlock will happen and MySQL will abort the transaction.  In this 
situation,  you should generally try to do the transaction again.  I'm 
wondering

* Which error codes are an indication that a transaction should be 
retried?  (Just a deadlock,  or anything else?  What about a failure on 
COMMIT?)

* Is there some easy sequence of transactions I can do that will make 
MySQL deadlock for testing purposes?  (Or should I just screw around 
with it until I can make it deadlock?)

* In section 4.10.4 it says "Update queries that use user variables are 
not replication-safe (yet)"
   -- Is this still the case?
   -- If so,  will this be fixed in the near future?

   My plan is to store a list of update statements that together will 
form a transaction.  Since I want to centralize the logic for redoing 
failed transactions,  I'd rather like to pass a list of queries to a 
function which will do all the updates in a transaction and redo them. 
 The only kind of "read" access to the database that these transactions 
will need will be getting the LAST_INSERT_ID().  User variables would be 
a convenient way to do this,  although I could certainly find another 
way to do it if that's not an option.


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to