[11054] Do not allow async transaction execution while server is loading. Call Database::InitDelayThread() function explicitly to create async DB worker thread after server initialization is complete.

Signed-off-by: Ambal <pogrebniak@gala.net>
This commit is contained in:
Ambal 2011-01-20 23:46:44 +02:00
parent e6e7bf8573
commit 07c9f0cbb8
9 changed files with 59 additions and 58 deletions

View file

@ -514,7 +514,7 @@ void InstanceSaveManager::CleanupInstances()
CharacterDatabase.Execute("DELETE FROM creature_respawn WHERE instance <> 0 AND instance NOT IN (SELECT id FROM instance)");
CharacterDatabase.Execute("DELETE FROM gameobject_respawn WHERE instance <> 0 AND instance NOT IN (SELECT id FROM instance)");
//execute transaction directly
CharacterDatabase.CommitTransactionDirect();
CharacterDatabase.CommitTransaction();
bar.step();
sLog.outString();
@ -562,7 +562,7 @@ void InstanceSaveManager::PackInstances()
CharacterDatabase.PExecute("UPDATE instance SET id = '%u' WHERE id = '%u'", InstanceNumber, *i);
CharacterDatabase.PExecute("UPDATE group_instance SET instance = '%u' WHERE instance = '%u'", InstanceNumber, *i);
//execute transaction synchronously
CharacterDatabase.CommitTransactionDirect();
CharacterDatabase.CommitTransaction();
}
++InstanceNumber;