diff --git a/modules/mod-as-common/src/game/ExtraDatabase.cpp b/modules/mod-as-common/src/game/ExtraDatabase.cpp index ee216a3..007358f 100644 --- a/modules/mod-as-common/src/game/ExtraDatabase.cpp +++ b/modules/mod-as-common/src/game/ExtraDatabase.cpp @@ -19,11 +19,6 @@ #include "MySQLPreparedStatement.h" #include "DatabaseLoader.h" -class DatabaseLoader; - -template class AC_DATABASE_API DatabaseWorkerPool; -DatabaseWorkerPool ExtraDatabase; - void ExtraDatabaseConnection::DoPrepareStatements() { if (!m_reconnecting) @@ -36,5 +31,15 @@ void ExtraDatabaseConnection::DoPrepareStatements() PrepareStatement(EXTRA_DEL_EXTERNAL_MAIL, "DELETE FROM mail_external WHERE id = ?", CONNECTION_ASYNC); } -// template AC_DATABASE_API -// DatabaseLoader& DatabaseLoader::AddDatabase(DatabaseWorkerPool&, std::string const&); +ExtraDatabaseConnection::ExtraDatabaseConnection(MySQLConnectionInfo& connInfo) : + MySQLConnection(connInfo) { } + +ExtraDatabaseConnection::ExtraDatabaseConnection(ProducerConsumerQueue* q, MySQLConnectionInfo& connInfo) : + MySQLConnection(q, connInfo) { } + +ExtraDatabaseConnection::~ExtraDatabaseConnection() { } + +DatabaseWorkerPool ExtraDatabase; + +template AC_DATABASE_API +DatabaseLoader& DatabaseLoader::AddDatabase(DatabaseWorkerPool&, std::string const&); diff --git a/modules/mod-as-common/src/game/ExtraDatabase.h b/modules/mod-as-common/src/game/ExtraDatabase.h index a0e1125..bebac7a 100644 --- a/modules/mod-as-common/src/game/ExtraDatabase.h +++ b/modules/mod-as-common/src/game/ExtraDatabase.h @@ -21,7 +21,7 @@ #include "MySQLConnection.h" #include "DatabaseEnv.h" -enum ExtraDatabaseStatements +enum ExtraDatabaseStatements : uint32 { /* Naming standard for defines: {DB}_{SET/DEL/ADD/REP}_{Summary of data changed} @@ -36,18 +36,24 @@ enum ExtraDatabaseStatements class AC_DATABASE_API ExtraDatabaseConnection : public MySQLConnection { - public: - typedef ExtraDatabaseStatements Statements; +public: + typedef ExtraDatabaseStatements Statements; - //- Constructors for sync and async connections - ExtraDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) {} - ExtraDatabaseConnection(ProducerConsumerQueue* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) {} + //- Constructors for sync and async connections + ExtraDatabaseConnection(MySQLConnectionInfo& connInfo); + ExtraDatabaseConnection(ProducerConsumerQueue* q, MySQLConnectionInfo& connInfo); + ~ExtraDatabaseConnection(); - //- Loads databasetype specific prepared statements - void DoPrepareStatements(); + //- Loads databasetype specific prepared statements + void DoPrepareStatements() override; }; +/// Accessor to the extra database AC_DATABASE_API extern DatabaseWorkerPool ExtraDatabase; +using ExtraDatabasePreparedStatement = PreparedStatement; +using ExtraDatabaseTransaction = SQLTransaction; +using ExtraDatabaseQueryHolder = SQLQueryHolder; + #endif