1
mirror of https://github.com/home-assistant/core synced 2024-09-15 17:29:45 +02:00

Only commit if need. (#21848)

This commit is contained in:
Jason Hu 2019-03-09 12:04:13 -08:00 committed by Paulus Schoutsen
parent 4d9cf15c45
commit 226be65910

View File

@ -20,12 +20,16 @@ def session_scope(*, hass=None, session=None):
if session is None:
raise RuntimeError('Session required')
need_rollback = False
try:
yield session
session.commit()
if session.transaction:
need_rollback = True
session.commit()
except Exception as err: # pylint: disable=broad-except
_LOGGER.error("Error executing query: %s", err)
session.rollback()
if need_rollback:
session.rollback()
raise
finally:
session.close()