summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-03-23 15:38:56 +0000
committerErik Johnston <erik@matrix.org>2015-03-23 15:38:56 +0000
commit6e7131f02f33695b6423db9a377f130ffebbdb67 (patch)
treef869beee97728bb359b3d884c6224986fc18c6c8
parentSanitize RoomMemberStore (diff)
downloadsynapse-6e7131f02f33695b6423db9a377f130ffebbdb67.tar.xz
Remove uses of REPLACE and ON CONFLICT IGNORE to make the SQL more portable.
-rw-r--r--synapse/storage/_base.py13
-rw-r--r--synapse/storage/keys.py2
-rw-r--r--synapse/storage/signatures.py4
-rw-r--r--synapse/storage/state.py1
4 files changed, 4 insertions, 16 deletions
diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py
index d038c55092..9214e0c494 100644
--- a/synapse/storage/_base.py
+++ b/synapse/storage/_base.py
@@ -341,26 +341,21 @@ class SQLBaseStore(object):
     # "Simple" SQL API methods that operate on a single table with no JOINs,
     # no complex WHERE clauses, just a dict of values for columns.
 
-    def _simple_insert(self, table, values, or_replace=False, or_ignore=False,
-                       desc="_simple_insert"):
+    def _simple_insert(self, table, values, desc="_simple_insert"):
         """Executes an INSERT query on the named table.
 
         Args:
             table : string giving the table name
             values : dict of new column names and values for them
-            or_replace : bool; if True performs an INSERT OR REPLACE
         """
         return self.runInteraction(
             desc,
-            self._simple_insert_txn, table, values, or_replace=or_replace,
-            or_ignore=or_ignore,
+            self._simple_insert_txn, table, values,
         )
 
     @log_function
-    def _simple_insert_txn(self, txn, table, values, or_replace=False,
-                           or_ignore=False):
-        sql = "%s INTO %s (%s) VALUES(%s)" % (
-            ("REPLACE" if or_replace else "INSERT"),
+    def _simple_insert_txn(self, txn, table, values):
+        sql = "INSERT INTO %s (%s) VALUES(%s)" % (
             table,
             ", ".join(k for k in values),
             ", ".join("?" for k in values)
diff --git a/synapse/storage/keys.py b/synapse/storage/keys.py
index 09d1e63657..25fef79434 100644
--- a/synapse/storage/keys.py
+++ b/synapse/storage/keys.py
@@ -66,7 +66,6 @@ class KeyStore(SQLBaseStore):
                 "ts_added_ms": time_now_ms,
                 "tls_certificate": buffer(tls_certificate_bytes),
             },
-            or_ignore=True,
         )
 
     @defer.inlineCallbacks
@@ -116,5 +115,4 @@ class KeyStore(SQLBaseStore):
                 "ts_added_ms": time_now_ms,
                 "verify_key": buffer(verify_key.encode()),
             },
-            or_ignore=True,
         )
diff --git a/synapse/storage/signatures.py b/synapse/storage/signatures.py
index d0d53770f2..13ce335101 100644
--- a/synapse/storage/signatures.py
+++ b/synapse/storage/signatures.py
@@ -56,7 +56,6 @@ class SignatureStore(SQLBaseStore):
                 "algorithm": algorithm,
                 "hash": buffer(hash_bytes),
             },
-            or_ignore=True,
         )
 
     def get_event_reference_hashes(self, event_ids):
@@ -119,7 +118,6 @@ class SignatureStore(SQLBaseStore):
                 "algorithm": algorithm,
                 "hash": buffer(hash_bytes),
             },
-            or_ignore=True,
         )
 
     def _get_event_signatures_txn(self, txn, event_id):
@@ -164,7 +162,6 @@ class SignatureStore(SQLBaseStore):
                 "key_id": key_id,
                 "signature": buffer(signature_bytes),
             },
-            or_ignore=True,
         )
 
     def _get_prev_event_hashes_txn(self, txn, event_id):
@@ -198,5 +195,4 @@ class SignatureStore(SQLBaseStore):
                 "algorithm": algorithm,
                 "hash": buffer(hash_bytes),
             },
-            or_ignore=True,
         )
diff --git a/synapse/storage/state.py b/synapse/storage/state.py
index 721f2862c4..65ea9c4d83 100644
--- a/synapse/storage/state.py
+++ b/synapse/storage/state.py
@@ -124,7 +124,6 @@ class StateStore(SQLBaseStore):
                 "state_group": state_group,
                 "event_id": event.event_id,
             },
-            or_replace=True,
         )
 
     @defer.inlineCallbacks