mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Only commit if need. (#21848)
This commit is contained in:
parent
4d9cf15c45
commit
226be65910
@ -20,11 +20,15 @@ def session_scope(*, hass=None, session=None):
|
|||||||
if session is None:
|
if session is None:
|
||||||
raise RuntimeError('Session required')
|
raise RuntimeError('Session required')
|
||||||
|
|
||||||
|
need_rollback = False
|
||||||
try:
|
try:
|
||||||
yield session
|
yield session
|
||||||
|
if session.transaction:
|
||||||
|
need_rollback = True
|
||||||
session.commit()
|
session.commit()
|
||||||
except Exception as err: # pylint: disable=broad-except
|
except Exception as err: # pylint: disable=broad-except
|
||||||
_LOGGER.error("Error executing query: %s", err)
|
_LOGGER.error("Error executing query: %s", err)
|
||||||
|
if need_rollback:
|
||||||
session.rollback()
|
session.rollback()
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user