mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/DBUpdater: Exit clean if a query failed to apply.
* Fix some \W4 warnings about constructors.
(cherry picked from commit de490674ff)
This commit is contained in:
@@ -272,11 +272,19 @@ bool DBUpdater<T>::Update(DatabaseWorkerPool<T>& pool)
|
||||
[&](Path const& file) { DBUpdater<T>::ApplyFile(pool, file); },
|
||||
[&](std::string const& query) -> QueryResult { return DBUpdater<T>::Retrieve(pool, query); });
|
||||
|
||||
uint32 const count = updateFetcher.Update(
|
||||
sConfigMgr->GetBoolDefault("Updates.Redundancy", true),
|
||||
sConfigMgr->GetBoolDefault("Updates.AllowRehash", true),
|
||||
sConfigMgr->GetBoolDefault("Updates.ArchivedRedundancy", false),
|
||||
sConfigMgr->GetIntDefault("Updates.CleanDeadRefMaxCount", 3));
|
||||
uint32 count;
|
||||
try
|
||||
{
|
||||
count = updateFetcher.Update(
|
||||
sConfigMgr->GetBoolDefault("Updates.Redundancy", true),
|
||||
sConfigMgr->GetBoolDefault("Updates.AllowRehash", true),
|
||||
sConfigMgr->GetBoolDefault("Updates.ArchivedRedundancy", false),
|
||||
sConfigMgr->GetIntDefault("Updates.CleanDeadRefMaxCount", 3));
|
||||
}
|
||||
catch (UpdateException&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!count)
|
||||
TC_LOG_INFO("sql.updates", ">> %s database is up-to-date!", DBUpdater<T>::GetTableName().c_str());
|
||||
@@ -331,7 +339,14 @@ bool DBUpdater<T>::Populate(DatabaseWorkerPool<T>& pool)
|
||||
|
||||
// Update database
|
||||
TC_LOG_INFO("sql.updates", ">> Applying \'%s\'...", base.generic_string().c_str());
|
||||
ApplyFile(pool, base);
|
||||
try
|
||||
{
|
||||
ApplyFile(pool, base);
|
||||
}
|
||||
catch (UpdateException&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
TC_LOG_INFO("sql.updates", ">> Done!");
|
||||
return true;
|
||||
|
||||
@@ -64,6 +64,9 @@ private:
|
||||
|
||||
uint64 const timestamp;
|
||||
|
||||
AppliedFileEntry(std::string const& _name, std::string const& _hash, State const _state, uint64 const _timestamp) :
|
||||
name(_name), hash(_hash), state(_state), timestamp(_timestamp) { }
|
||||
|
||||
static inline State StateConvert(std::string const& state)
|
||||
{
|
||||
return (state == "RELEASED") ? RELEASED : ARCHIVED;
|
||||
@@ -87,6 +90,9 @@ private:
|
||||
Path const path;
|
||||
|
||||
State const state;
|
||||
|
||||
DirectoryEntry(Path const& _path, State const _state) :
|
||||
path(_path), state(_state) { }
|
||||
};
|
||||
|
||||
typedef std::pair<Path, State> LocaleFileEntry;
|
||||
|
||||
Reference in New Issue
Block a user