summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-04-30 15:21:31 +0100
committerMark Haines <mark.haines@matrix.org>2015-04-30 15:21:31 +0100
commit29400b45b98307699ae1aba9230eaf106ac6f021 (patch)
tree6042275097c662d0b5d7e80efe53aa6aafff793a
parentDon't needlessly join on state_events (diff)
downloadsynapse-29400b45b98307699ae1aba9230eaf106ac6f021.tar.xz
SYN-367: Use upsert rather than insert_or_replace
-rw-r--r--synapse/storage/keys.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/synapse/storage/keys.py b/synapse/storage/keys.py
index cbe9339ccf..5bdf497b93 100644
--- a/synapse/storage/keys.py
+++ b/synapse/storage/keys.py
@@ -137,8 +137,13 @@ class KeyStore(SQLBaseStore):
             ts_valid_until_ms (int): The time when this json stops being valid.
             key_json (bytes): The encoded JSON.
         """
-        return self._simple_insert(
+        return self._simple_upsert(
             table="server_keys_json",
+            keyvalues={
+                "server_name": server_name,
+                "key_id": key_id,
+                "from_server": from_server,
+            },
             values={
                 "server_name": server_name,
                 "key_id": key_id,
@@ -147,7 +152,6 @@ class KeyStore(SQLBaseStore):
                 "ts_valid_until_ms": ts_expires_ms,
                 "key_json": buffer(key_json_bytes),
             },
-            or_replace=True,
         )
 
     def get_server_keys_json(self, server_keys):