Do the select and insert in a single transaction

This commit is contained in:
Brendan Abolivier 2019-05-21 13:38:51 +01:00
parent 99c4ec1eef
commit 5ceee46c6b
No known key found for this signature in database
GPG key ID: 1E015C145F1916CD

View file

@ -304,21 +304,17 @@ class SQLBaseStore(object):
" WHERE account_validity.user_id is NULL;"
)
txn.execute(sql, [])
return self.cursor_to_dict(txn)
res = yield self.runInteraction(
res = self.cursor_to_dict(txn)
if res:
for user in res:
self.set_expiration_date_for_user_txn(txn, user["name"])
yield self.runInteraction(
"get_users_with_no_expiration_date",
select_users_with_no_expiration_date_txn,
)
if res:
for user in res:
self.runInteraction(
"set_expiration_date_for_user_background",
self.set_expiration_date_for_user_txn,
user["name"],
)
def set_expiration_date_for_user_txn(self, txn, user_id):
"""Sets an expiration date to the account with the given user ID.