aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/Transaction.h
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-01-13 20:07:09 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2011-01-13 20:07:09 +0100
commitcf9250c29f4e66f6a8fe6d14ace798a4252ce59b (patch)
tree00e9983260a4c20f7ffef1e2a2b05ba30d8b4772 /src/server/shared/Database/Transaction.h
parent8d59953f9372c6876e0cd8078b44de6893082cbe (diff)
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.
Diffstat (limited to 'src/server/shared/Database/Transaction.h')
-rwxr-xr-xsrc/server/shared/Database/Transaction.h4
1 files changed, 3 insertions, 1 deletions
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 <class T> friend class DatabaseWorkerPool;
friend class DatabaseWorker;
-
+
public:
TransactionTask(SQLTransaction trans) : m_trans(trans) {} ;
~TransactionTask(){};