mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-13 19:22:15 -04:00
checks for generators in database functions (#11564)
A couple of safety-checks to hopefully stop people doing what I just did, and create a storage function which only works the first time it is called (and not when it is re-run due to a database concurrency error or similar).
This commit is contained in:
parent
eb39da6782
commit
ff6fd52160
3 changed files with 49 additions and 7 deletions
|
@ -269,6 +269,7 @@ class PresenceStore(PresenceBackgroundUpdateStore):
|
|||
"""
|
||||
# Add user entries to the table, updating the presence_stream_id column if the user already
|
||||
# exists in the table.
|
||||
presence_stream_id = self._presence_id_gen.get_current_token()
|
||||
await self.db_pool.simple_upsert_many(
|
||||
table="users_to_send_full_presence_to",
|
||||
key_names=("user_id",),
|
||||
|
@ -279,9 +280,7 @@ class PresenceStore(PresenceBackgroundUpdateStore):
|
|||
# devices at different times, each device will receive full presence once - when
|
||||
# the presence stream ID in their sync token is less than the one in the table
|
||||
# for their user ID.
|
||||
value_values=(
|
||||
(self._presence_id_gen.get_current_token(),) for _ in user_ids
|
||||
),
|
||||
value_values=[(presence_stream_id,) for _ in user_ids],
|
||||
desc="add_users_to_send_full_presence_to",
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue