From a84572c5449c74d9107a9c725a5feb32e439843e Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 30 Oct 2010 10:00:32 +0200 Subject: Use a transaction when handling a GAMSG_PLAYER_SYNC message This message can contain a lot of small database updates, which at least on my system are way more efficient when performed in a transaction (now it takes no more than 1 second vs. about 14 seconds before). Not saying this is normal, my guess is that it's due to using full partition encryption. I've also prevented the thing from entering an infinite loop in the case of a wrong message, and corrected some variable names. --- src/account-server/storage.hpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/account-server/storage.hpp') diff --git a/src/account-server/storage.hpp b/src/account-server/storage.hpp index 0024fbc6..8651d20e 100644 --- a/src/account-server/storage.hpp +++ b/src/account-server/storage.hpp @@ -129,6 +129,11 @@ class Storage std::vector getTransactions(unsigned int num); std::vector getTransactions(time_t date); + /** + * Provides direct access to the database. Use with care! + */ + dal::DataProvider *database() const { return mDb; } + private: // Prevent copying Storage(const Storage &rhs); -- cgit v1.2.3-60-g2f50