From cf9250c29f4e66f6a8fe6d14ace798a4252ce59b Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Thu, 13 Jan 2011 20:07:09 +0100 Subject: Core/DBLayer: - Implement DatabaseWorkerPool::DirectCommitTransaction for synchronous transaction execution (as opposed to asynchronous/enqueued). - Add MySQL errno 1213 "Deadlock found when trying to get lock; try restarting transaction" handler. If 1213 is called the core will retry to directly execute the transaction a maximum of 5 times. --- src/server/shared/Database/Transaction.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/server/shared/Database/Transaction.h') diff --git a/src/server/shared/Database/Transaction.h b/src/server/shared/Database/Transaction.h index 46e13a84a14..da603b8cf50 100755 --- a/src/server/shared/Database/Transaction.h +++ b/src/server/shared/Database/Transaction.h @@ -27,6 +27,8 @@ class PreparedStatement; class Transaction { friend class TransactionTask; + friend class MySQLConnection; + public: Transaction() {} ~Transaction() { Cleanup(); } @@ -49,7 +51,7 @@ class TransactionTask : public SQLOperation { template friend class DatabaseWorkerPool; friend class DatabaseWorker; - + public: TransactionTask(SQLTransaction trans) : m_trans(trans) {} ; ~TransactionTask(){}; -- cgit v1.2.3