diff --git a/eos/db/saveddata/queries.py b/eos/db/saveddata/queries.py index e582eef87..448584420 100644 --- a/eos/db/saveddata/queries.py +++ b/eos/db/saveddata/queries.py @@ -542,8 +542,17 @@ def commit(): with sd_lock: try: saveddata_session.commit() - saveddata_session.flush() - 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