From 3ed949395e421c7e2ace12fcf2395f47dcbddbf3 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Wed, 13 Feb 2019 15:56:15 +0300 Subject: [PATCH] Flush prices rather than commit, it takes much less time and still satisfies our needs --- eos/db/saveddata/queries.py | 12 +++++++++++- eos/gamedata.py | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/eos/db/saveddata/queries.py b/eos/db/saveddata/queries.py index c8da4e3ee..448584420 100644 --- a/eos/db/saveddata/queries.py +++ b/eos/db/saveddata/queries.py @@ -542,7 +542,17 @@ def commit(): with sd_lock: try: saveddata_session.commit() - except Exception as ex: + except Exception: + saveddata_session.rollback() + exc_info = sys.exc_info() + raise exc_info[0](exc_info[1]).with_traceback(exc_info[2]) + + +def flush(): + with sd_lock: + try: + saveddata_session.flush() + except Exception: saveddata_session.rollback() exc_info = sys.exc_info() raise exc_info[0](exc_info[1]).with_traceback(exc_info[2]) diff --git a/eos/gamedata.py b/eos/gamedata.py index 0243eec0f..5ec2a1e14 100644 --- a/eos/gamedata.py +++ b/eos/gamedata.py @@ -458,7 +458,7 @@ class Item(EqBase): pyfalog.debug("Creating a price for {}".format(self.ID)) self.__priceObj = types_Price(self.ID) eos.db.add(self.__priceObj) - eos.db.commit() + eos.db.flush() else: self.__priceObj = db_price