summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2015-08-04 14:37:09 +0100
committerDavid Baker <dave@matrix.org>2015-08-04 14:37:09 +0100
commitc77048e12f032842cebbb0f1a0639bb62db88418 (patch)
tree9f9f29aa34f422d081ccef3fa177dd4362a45adb /synapse/storage
parentDon't try & check the username if we don't have one (which we won't if it's b... (diff)
downloadsynapse-c77048e12f032842cebbb0f1a0639bb62db88418.tar.xz
Add endpoint that proxies ID server request token and errors if the given email is in use on this Home Server.
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/schema/delta/22/user_threepids_unique.sql19
1 files changed, 19 insertions, 0 deletions
diff --git a/synapse/storage/schema/delta/22/user_threepids_unique.sql b/synapse/storage/schema/delta/22/user_threepids_unique.sql
new file mode 100644

index 0000000000..87edfa454c --- /dev/null +++ b/synapse/storage/schema/delta/22/user_threepids_unique.sql
@@ -0,0 +1,19 @@ +CREATE TABLE IF NOT EXISTS user_threepids2 ( + user_id TEXT NOT NULL, + medium TEXT NOT NULL, + address TEXT NOT NULL, + validated_at BIGINT NOT NULL, + added_at BIGINT NOT NULL, + CONSTRAINT medium_address UNIQUE (medium, address) +); + +INSERT INTO user_threepids2 + SELECT * FROM user_threepids WHERE added_at IN ( + SELECT max(added_at) FROM user_threepids GROUP BY medium, address + ) +; + +DROP TABLE user_threepids; +ALTER TABLE user_threepids2 RENAME TO user_threepids; + +CREATE INDEX user_threepids_user_id ON user_threepids(user_id);