Reduce to-device queries for /sync. (#12163)

This commit is contained in:
Erik Johnston 2022-03-04 17:57:27 +00:00 committed by GitHub
parent 75574726a7
commit 0752ab7a36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 0 deletions

1
changelog.d/12163.misc Normal file
View File

@ -0,0 +1 @@
Reduce number of DB queries made during processing of `/sync`.

View File

@ -298,6 +298,9 @@ class DeviceInboxWorkerStore(SQLBaseStore):
# This user has new messages sent to them. Query messages for them # This user has new messages sent to them. Query messages for them
user_ids_to_query.add(user_id) user_ids_to_query.add(user_id)
if not user_ids_to_query:
return {}, to_stream_id
def get_device_messages_txn(txn: LoggingTransaction): def get_device_messages_txn(txn: LoggingTransaction):
# Build a query to select messages from any of the given devices that # Build a query to select messages from any of the given devices that
# are between the given stream id bounds. # are between the given stream id bounds.