summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2017-04-11 16:24:31 +0100
committerErik Johnston <erik@matrix.org>2017-04-11 16:24:31 +0100
commit85657eedf8ce54acf0c78e673e58dd33e12c7f75 (patch)
tree66c24ee93db2d916bac49b732267a10f011bf8c7
parentDon't bother with outer check for now (diff)
downloadsynapse-85657eedf8ce54acf0c78e673e58dd33e12c7f75.tar.xz
Bail on where clause instead
-rw-r--r--synapse/storage/client_ips.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/synapse/storage/client_ips.py b/synapse/storage/client_ips.py
index f95921d731..b01f0046e9 100644
--- a/synapse/storage/client_ips.py
+++ b/synapse/storage/client_ips.py
@@ -90,6 +90,7 @@ class ClientIpStore(background_updates.BackgroundUpdateStore):
             are (user_id, device_id) tuples. The values are also dicts, with
             keys giving the column names
         """
+
         res = yield self.runInteraction(
             "get_last_client_ip_by_device",
             self._get_last_client_ip_by_device_txn,
@@ -109,9 +110,6 @@ class ClientIpStore(background_updates.BackgroundUpdateStore):
 
     @classmethod
     def _get_last_client_ip_by_device_txn(cls, txn, devices, retcols):
-        if not devices:
-            return []
-
         where_clauses = []
         bindings = []
         for (user_id, device_id) in devices:
@@ -122,6 +120,9 @@ class ClientIpStore(background_updates.BackgroundUpdateStore):
                 where_clauses.append("(user_id = ? AND device_id = ?)")
                 bindings.extend((user_id, device_id))
 
+        if not where_clauses:
+            return []
+
         inner_select = (
             "SELECT MAX(last_seen) mls, user_id, device_id FROM user_ips "
             "WHERE %(where)s "