diff options
author | StormBytePP <stormbyte@gmail.com> | 2015-08-15 02:19:10 +0200 |
---|---|---|
committer | StormBytePP <stormbyte@gmail.com> | 2015-08-16 21:23:15 +0200 |
commit | 1f66d719f2cbbcb144b5080c89dd73fcae261798 (patch) | |
tree | 6a3778749b629c92de95cef7eb3d1d8c2630bdc4 /src/server/shared/Database/Transaction.h | |
parent | 222eaccc51b8d358c7b60d8def40d6461244ed31 (diff) |
Core/BuildSystem: Merge collision, debugging, threading, utilities and configuration into "common" which does not depend on shared anymore and moved database out of shared library
These changes enables to build tools only without even having MySQL installed
Diffstat (limited to 'src/server/shared/Database/Transaction.h')
-rw-r--r-- | src/server/shared/Database/Transaction.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/src/server/shared/Database/Transaction.h b/src/server/shared/Database/Transaction.h deleted file mode 100644 index 4fbbe1ed45b..00000000000 --- a/src/server/shared/Database/Transaction.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef _TRANSACTION_H -#define _TRANSACTION_H - -#include "SQLOperation.h" -#include "StringFormat.h" - -//- Forward declare (don't include header to prevent circular includes) -class PreparedStatement; - -/*! Transactions, high level class. */ -class Transaction -{ - friend class TransactionTask; - friend class MySQLConnection; - - template <typename T> - friend class DatabaseWorkerPool; - - public: - Transaction() : _cleanedUp(false) { } - ~Transaction() { Cleanup(); } - - void Append(PreparedStatement* statement); - void Append(const char* sql); - template<typename Format, typename... Args> - void PAppend(Format&& sql, Args&&... args) - { - Append(Trinity::StringFormat(std::forward<Format>(sql), std::forward<Args>(args)...).c_str()); - } - - size_t GetSize() const { return m_queries.size(); } - - protected: - void Cleanup(); - std::list<SQLElementData> m_queries; - - private: - bool _cleanedUp; - -}; -typedef std::shared_ptr<Transaction> SQLTransaction; - -/*! Low level class*/ -class TransactionTask : public SQLOperation -{ - template <class T> friend class DatabaseWorkerPool; - friend class DatabaseWorker; - - public: - TransactionTask(SQLTransaction trans) : m_trans(trans) { } - ~TransactionTask() { } - - protected: - bool Execute() override; - - SQLTransaction m_trans; - static std::mutex _deadlockLock; -}; - -#endif |