Make Mangos Four compatible with newer MySQL. Based by work by @leprasmurf

* Delimite SQL queries for MySQL 8 compatibility
* Fix database name for PlayerDump
This commit is contained in:
Antz 2020-04-24 03:03:53 +01:00
parent 96e645a61d
commit fbdc248ed1
57 changed files with 1017 additions and 972 deletions

View file

@ -539,7 +539,7 @@ bool Database::CheckDatabaseVersion(DatabaseTypes database)
const DBVersion& dbversion = databaseVersions[database];
// Fetch the database version table information
QueryResult* result = Query("SELECT version, structure, content, description FROM db_version ORDER BY version DESC, structure DESC, content DESC LIMIT 1");
QueryResult* result = Query("SELECT `version`, `structure`, `content`, `description` FROM `db_version` ORDER BY `version` DESC, `structure` DESC, `content` DESC LIMIT 1");
// db_version table does not exist or is empty
if (!result)

View file

@ -240,7 +240,7 @@ template<class DerivedLoader, class StorageClass>
void SQLStorageLoaderBase<DerivedLoader, StorageClass>::Load(StorageClass& store, bool error_at_empty /*= true*/)
{
Field* fields = NULL;
QueryResult* result = WorldDatabase.PQuery("SELECT MAX(%s) FROM %s", store.EntryFieldName(), store.GetTableName());
QueryResult* result = WorldDatabase.PQuery("SELECT MAX(`%s`) FROM `%s`", store.EntryFieldName(), store.GetTableName());
if (!result)
{
sLog.outError("Error loading %s table (not exist?)\n", store.GetTableName());
@ -253,7 +253,7 @@ void SQLStorageLoaderBase<DerivedLoader, StorageClass>::Load(StorageClass& store
uint32 recordsize = 0;
delete result;
result = WorldDatabase.PQuery("SELECT COUNT(*) FROM %s", store.GetTableName());
result = WorldDatabase.PQuery("SELECT COUNT(*) FROM `%s`", store.GetTableName());
if (result)
{
fields = result->Fetch();
@ -261,7 +261,7 @@ void SQLStorageLoaderBase<DerivedLoader, StorageClass>::Load(StorageClass& store
delete result;
}
result = WorldDatabase.PQuery("SELECT * FROM %s", store.GetTableName());
result = WorldDatabase.PQuery("SELECT * FROM `%s`", store.GetTableName());
if (!result)
{