From af76dc6b88bdfc910a93b2549c1a89afdeb41b91 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 25 Apr 2020 17:01:26 +0200 Subject: Core/DataStores: Speedup loading hotfix database and change hotfix database character set to utf8mb4 --- src/server/shared/DataStores/DB2DatabaseLoader.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/server/shared') diff --git a/src/server/shared/DataStores/DB2DatabaseLoader.cpp b/src/server/shared/DataStores/DB2DatabaseLoader.cpp index 04b8e80313f..a147b12aae4 100644 --- a/src/server/shared/DataStores/DB2DatabaseLoader.cpp +++ b/src/server/shared/DataStores/DB2DatabaseLoader.cpp @@ -67,10 +67,10 @@ char* DB2DatabaseLoader::Load(uint32& records, char**& indexTable, char*& string stringHolders = nullptr; // Resize index table - // database query *MUST* contain ORDER BY `index_field` DESC clause - uint32 indexTableSize = (*result)[indexField].GetUInt32() + 1; - if (indexTableSize < records) - indexTableSize = records; + uint32 indexTableSize = records; + if (PreparedQueryResult maxIdResult = HotfixDatabase.Query(HotfixDatabase.GetPreparedStatement(HotfixDatabaseStatements(_loadInfo->Statement + 1)))) + if ((*maxIdResult)[0].GetUInt32() > records) + indexTableSize = (*maxIdResult)[0].GetUInt32(); if (indexTableSize > records) { @@ -202,7 +202,7 @@ char* DB2DatabaseLoader::Load(uint32& records, char**& indexTable, char*& string void DB2DatabaseLoader::LoadStrings(uint32 locale, uint32 records, char** indexTable, std::vector& stringPool) { - HotfixDatabasePreparedStatement* stmt = HotfixDatabase.GetPreparedStatement(HotfixDatabaseStatements(_loadInfo->Statement + 1)); + HotfixDatabasePreparedStatement* stmt = HotfixDatabase.GetPreparedStatement(HotfixDatabaseStatements(_loadInfo->Statement + 2)); stmt->setString(0, localeNames[locale]); PreparedQueryResult result = HotfixDatabase.Query(stmt); if (!result) -- cgit v1.2.3