From 0d4f614fdae1221bd1833d9cdeb5adc3850d3af9 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Wed, 2 Sep 2020 15:53:26 +0100 Subject: [PATCH] Refactor `_get_e2e_device_keys_for_federation_query_txn` (#8225) We can use the existing `_get_e2e_device_keys_and_signatures_txn` instead of creating our own txn function --- changelog.d/8225.misc | 1 + .../storage/databases/main/end_to_end_keys.py | 17 ++++++----------- 2 files changed, 7 insertions(+), 11 deletions(-) create mode 100644 changelog.d/8225.misc diff --git a/changelog.d/8225.misc b/changelog.d/8225.misc new file mode 100644 index 000000000..979c8b227 --- /dev/null +++ b/changelog.d/8225.misc @@ -0,0 +1 @@ +Refactor queries for device keys and cross-signatures. diff --git a/synapse/storage/databases/main/end_to_end_keys.py b/synapse/storage/databases/main/end_to_end_keys.py index 449d95f31..4059701cf 100644 --- a/synapse/storage/databases/main/end_to_end_keys.py +++ b/synapse/storage/databases/main/end_to_end_keys.py @@ -24,7 +24,7 @@ from twisted.enterprise.adbapi import Connection from synapse.logging.opentracing import log_kv, set_tag, trace from synapse.storage._base import SQLBaseStore, db_to_json -from synapse.storage.database import LoggingTransaction, make_in_list_sql_clause +from synapse.storage.database import make_in_list_sql_clause from synapse.types import JsonDict from synapse.util import json_encoder from synapse.util.caches.descriptors import cached, cachedList @@ -58,18 +58,13 @@ class EndToEndKeyWorkerStore(SQLBaseStore): Returns: (stream_id, devices) """ - return await self.db_pool.runInteraction( - "get_e2e_device_keys_for_federation_query", - self._get_e2e_device_keys_for_federation_query_txn, - user_id, - ) - - def _get_e2e_device_keys_for_federation_query_txn( - self, txn: LoggingTransaction, user_id: str - ) -> Tuple[int, List[JsonDict]]: now_stream_id = self.get_device_stream_token() - devices = self._get_e2e_device_keys_and_signatures_txn(txn, [(user_id, None)]) + devices = await self.db_pool.runInteraction( + "get_e2e_device_keys_and_signatures_txn", + self._get_e2e_device_keys_and_signatures_txn, + [(user_id, None)], + ) if devices: user_devices = devices[user_id]