summary refs log tree commit diff
path: root/synapse/storage/schema/delta/16
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-04-17 11:10:20 +0100
committerErik Johnston <erik@matrix.org>2015-04-17 11:10:20 +0100
commit0ec346d942450ac4a29c74d115428fd856af94b2 (patch)
tree27643d776476b79eb3d59f25e93e1fa29303ea71 /synapse/storage/schema/delta/16
parentPEP8 (diff)
downloadsynapse-0ec346d942450ac4a29c74d115428fd856af94b2.tar.xz
Add unique index to room_aliases, remove duplicates on upgrade. Convert some columns back to TEXT from bytea
Diffstat (limited to 'synapse/storage/schema/delta/16')
-rw-r--r--synapse/storage/schema/delta/16/room_alias_index.sql3
-rw-r--r--synapse/storage/schema/delta/16/unique_constraints.sql8
2 files changed, 11 insertions, 0 deletions
diff --git a/synapse/storage/schema/delta/16/room_alias_index.sql b/synapse/storage/schema/delta/16/room_alias_index.sql
new file mode 100644
index 0000000000..f82486132b
--- /dev/null
+++ b/synapse/storage/schema/delta/16/room_alias_index.sql
@@ -0,0 +1,3 @@
+
+CREATE INDEX IF NOT EXISTS room_aliases_id ON room_aliases(room_id);
+CREATE INDEX IF NOT EXISTS room_alias_servers_alias ON room_alias_servers(room_alias);
diff --git a/synapse/storage/schema/delta/16/unique_constraints.sql b/synapse/storage/schema/delta/16/unique_constraints.sql
index 3604ea8427..fecf11118c 100644
--- a/synapse/storage/schema/delta/16/unique_constraints.sql
+++ b/synapse/storage/schema/delta/16/unique_constraints.sql
@@ -70,3 +70,11 @@ DROP INDEX IF EXISTS presence_list_observers;
 CREATE UNIQUE INDEX presence_list_observers ON presence_list(
     user_id, observed_user_id
 );
+
+--
+DELETE FROM room_aliases WHERE rowid not in (
+    SELECT MIN(rowid) FROM room_aliases GROUP BY room_alias
+);
+
+DROP INDEX IF EXISTS room_aliases_id;
+CREATE INDEX room_aliases_id ON room_aliases(room_id);