LoggingTransaction accepts None for callback lists.

Its a bit disingenuousto give LoggingTransaction lists to append
callbacks to if we're not going to run the callbacks.
This commit is contained in:
Erik Johnston 2019-07-19 13:36:04 +01:00
parent ebc5ed1296
commit bd2e1a2aa8
3 changed files with 16 additions and 6 deletions

View file

@ -86,7 +86,21 @@ _CURRENT_STATE_CACHE_NAME = "cs_cache_fake"
class LoggingTransaction(object): class LoggingTransaction(object):
"""An object that almost-transparently proxies for the 'txn' object """An object that almost-transparently proxies for the 'txn' object
passed to the constructor. Adds logging and metrics to the .execute() passed to the constructor. Adds logging and metrics to the .execute()
method.""" method.
Args:
txn: The database transcation object to wrap.
name (str): The name of this transactions for logging.
database_engine (Sqlite3Engine|PostgresEngine)
after_callbacks(list|None): A list that callbacks will be appended to
that have been added by `call_after` which should be run on
successful completion of the transaction. None indicates that no
callbacks should be allowed to be scheduled to run.
exception_callbacks(list|None): A list that callbacks will be appended
to that have been added by `call_on_exception` which should be run
if transaction ends with an error. None indicates that no callbacks
should be allowed to be scheduled to run.
"""
__slots__ = [ __slots__ = [
"txn", "txn",
@ -97,7 +111,7 @@ class LoggingTransaction(object):
] ]
def __init__( def __init__(
self, txn, name, database_engine, after_callbacks, exception_callbacks self, txn, name, database_engine, after_callbacks=None, exception_callbacks=None
): ):
object.__setattr__(self, "txn", txn) object.__setattr__(self, "txn", txn)
object.__setattr__(self, "name", name) object.__setattr__(self, "name", name)

View file

@ -79,8 +79,6 @@ class EventPushActionsWorkerStore(SQLBaseStore):
db_conn.cursor(), db_conn.cursor(),
name="_find_stream_orderings_for_times_txn", name="_find_stream_orderings_for_times_txn",
database_engine=self.database_engine, database_engine=self.database_engine,
after_callbacks=[],
exception_callbacks=[],
) )
self._find_stream_orderings_for_times_txn(cur) self._find_stream_orderings_for_times_txn(cur)
cur.close() cur.close()

View file

@ -70,8 +70,6 @@ class RoomMemberWorkerStore(EventsWorkerStore):
db_conn.cursor(), db_conn.cursor(),
name="_check_safe_current_state_events_membership_updated", name="_check_safe_current_state_events_membership_updated",
database_engine=self.database_engine, database_engine=self.database_engine,
after_callbacks=[],
exception_callbacks=[],
) )
self._check_safe_current_state_events_membership_updated_txn(txn) self._check_safe_current_state_events_membership_updated_txn(txn)
txn.close() txn.close()