diff options
author | Erik Johnston <erik@matrix.org> | 2017-06-26 14:02:44 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-06-26 14:02:44 +0100 |
commit | e3cbec10c10e64c8388c4030191c141a8cbe4966 (patch) | |
tree | 6a4eacab98c581406eacf47c392b7a41fa00118f /synapse/storage/directory.py | |
parent | Reject local events that don't round trip the DB (diff) | |
parent | Merge pull request #2301 from xwiki-labs/push-redact-content (diff) | |
download | synapse-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.py | 14 |
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 + ) |