diff options
author | daMaex <damaex@live.de> | 2022-06-14 14:10:25 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-09-05 18:34:50 +0200 |
commit | 0a07f257f20bf18f8ff0e272c2f97b6bfad5793f (patch) | |
tree | 15fae62ccc1aa81d28d71ab8d335431cf4a4fad9 | |
parent | ab7010dae103ea316015b1b01f67cfecd5cdfe21 (diff) |
MariaDB support for Ubuntu 22.04 (#28031)
(cherry picked from commit bceb5b606068b8ef29a55338bcaa8fb611be4e33)
-rw-r--r-- | src/server/database/Database/DatabaseWorkerPool.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/server/database/Database/DatabaseWorkerPool.cpp b/src/server/database/Database/DatabaseWorkerPool.cpp index 87efe6072f6..c3c1d680c87 100644 --- a/src/server/database/Database/DatabaseWorkerPool.cpp +++ b/src/server/database/Database/DatabaseWorkerPool.cpp @@ -44,6 +44,11 @@ #define MIN_MYSQL_CLIENT_VERSION 50700u #define MIN_MYSQL_CLIENT_VERSION_STRING "5.7" +#define MIN_MARIADB_SERVER_VERSION 100209u +#define MIN_MARIADB_SERVER_VERSION_STRING "10.2.9" +#define MIN_MARIADB_CLIENT_VERSION 30003u +#define MIN_MARIADB_CLIENT_VERSION_STRING "3.0.3" + class PingOperation : public SQLOperation { //! Operation for idle delaythreads @@ -60,9 +65,14 @@ DatabaseWorkerPool<T>::DatabaseWorkerPool() _async_threads(0), _synch_threads(0) { WPFatal(mysql_thread_safe(), "Used MySQL library isn't thread-safe."); + +#ifndef LIBMARIADB WPFatal(mysql_get_client_version() >= MIN_MYSQL_CLIENT_VERSION, "TrinityCore does not support MySQL versions below " MIN_MYSQL_CLIENT_VERSION_STRING " (found %s id %lu, need id >= %u), please update your MySQL client library", mysql_get_client_info(), mysql_get_client_version(), MIN_MYSQL_CLIENT_VERSION); - WPFatal(mysql_get_client_version() == MYSQL_VERSION_ID, "Used MySQL library version (%s id %lu) does not match the version id used to compile TrinityCore (id %u). Search on forum for TCE00011.", - mysql_get_client_info(), mysql_get_client_version(), MYSQL_VERSION_ID); + WPFatal(mysql_get_client_version() == MYSQL_VERSION_ID, "Used MySQL library version (%s id %lu) does not match the version id used to compile TrinityCore (id %u). Search on forum for TCE00011.", mysql_get_client_info(), mysql_get_client_version(), MYSQL_VERSION_ID); +#else + WPFatal(mysql_get_client_version() >= MIN_MARIADB_CLIENT_VERSION, "TrinityCore does not support MariaDB versions below " MIN_MARIADB_CLIENT_VERSION_STRING " (found %s id %lu, need id >= %u), please update your MariaDB client library", mysql_get_client_info(), mysql_get_client_version(), MIN_MARIADB_CLIENT_VERSION); + WPFatal(mysql_get_client_version() == MARIADB_PACKAGE_VERSION_ID, "Used MariaDB library version (%s id %lu) does not match the version id used to compile TrinityCore (id %u). Search on forum for TCE00011.", mysql_get_client_info(), mysql_get_client_version(), MARIADB_PACKAGE_VERSION_ID); +#endif } template <class T> @@ -386,9 +396,18 @@ uint32 DatabaseWorkerPool<T>::OpenConnections(InternalIndex type, uint8 numConne _connections[type].clear(); return error; } +#ifndef LIBMARIADB else if (connection->GetServerVersion() < MIN_MYSQL_SERVER_VERSION) +#else + else if (connection->GetServerVersion() < MIN_MARIADB_SERVER_VERSION) +#endif { +#ifndef LIBMARIADB TC_LOG_ERROR("sql.driver", "TrinityCore does not support MySQL versions below " MIN_MYSQL_SERVER_VERSION_STRING " (found id %u, need id >= %u), please update your MySQL server", connection->GetServerVersion(), MIN_MYSQL_SERVER_VERSION); +#else + TC_LOG_ERROR("sql.driver", "TrinityCore does not support MariaDB versions below " MIN_MARIADB_SERVER_VERSION_STRING " (found id %u, need id >= %u), please update your MySQL server", connection->GetServerVersion(), MIN_MARIADB_SERVER_VERSION); +#endif + return 1; } else |