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