summary refs log tree commit diff
path: root/synapse/storage/directory.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2017-06-26 14:02:44 +0100
committerErik Johnston <erik@matrix.org>2017-06-26 14:02:44 +0100
commite3cbec10c10e64c8388c4030191c141a8cbe4966 (patch)
tree6a4eacab98c581406eacf47c392b7a41fa00118f /synapse/storage/directory.py
parentReject local events that don't round trip the DB (diff)
parentMerge pull request #2301 from xwiki-labs/push-redact-content (diff)
downloadsynapse-e3cbec10c10e64c8388c4030191c141a8cbe4966.tar.xz
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/ensure_round_trip
Diffstat (limited to 'synapse/storage/directory.py')
-rw-r--r--synapse/storage/directory.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/synapse/storage/directory.py b/synapse/storage/directory.py
index 9caaf81f2c..79e7c540ad 100644
--- a/synapse/storage/directory.py
+++ b/synapse/storage/directory.py
@@ -170,3 +170,17 @@ class DirectoryStore(SQLBaseStore):
             "room_alias",
             desc="get_aliases_for_room",
         )
+
+    def update_aliases_for_room(self, old_room_id, new_room_id, creator):
+        def _update_aliases_for_room_txn(txn):
+            sql = "UPDATE room_aliases SET room_id = ?, creator = ? WHERE room_id = ?"
+            txn.execute(sql, (new_room_id, creator, old_room_id,))
+            self._invalidate_cache_and_stream(
+                txn, self.get_aliases_for_room, (old_room_id,)
+            )
+            self._invalidate_cache_and_stream(
+                txn, self.get_aliases_for_room, (new_room_id,)
+            )
+        return self.runInteraction(
+            "_update_aliases_for_room_txn", _update_aliases_for_room_txn
+        )