mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-06 11:14:09 -04:00
Don't use multiple UNIQUE constraints; it will cause deadlocks
This commit is contained in:
parent
c8d3f6486d
commit
0af5f5efaf
4 changed files with 17 additions and 15 deletions
|
@ -17,20 +17,22 @@ CREATE TABLE IF NOT EXISTS presence(
|
|||
state VARCHAR(20),
|
||||
status_msg VARCHAR(150),
|
||||
mtime BIGINT, -- miliseconds since last state change
|
||||
UNIQUE(user_id)
|
||||
UNIQUE (user_id)
|
||||
) ;
|
||||
|
||||
-- For each of /my/ users which possibly-remote users are allowed to see their
|
||||
-- presence state
|
||||
CREATE TABLE IF NOT EXISTS presence_allow_inbound(
|
||||
observed_user_id VARCHAR(150) NOT NULL,
|
||||
observer_user_id VARCHAR(150) -- a UserID,
|
||||
observer_user_id VARCHAR(150) NOT NULL, -- a UserID,
|
||||
UNIQUE (observed_user_id, observer_user_id)
|
||||
) ;
|
||||
|
||||
-- For each of /my/ users (watcher), which possibly-remote users are they
|
||||
-- watching?
|
||||
CREATE TABLE IF NOT EXISTS presence_list(
|
||||
user_id VARCHAR(150) NOT NULL,
|
||||
observed_user_id VARCHAR(150), -- a UserID,
|
||||
accepted BOOLEAN
|
||||
observed_user_id VARCHAR(150) NOT NULL, -- a UserID,
|
||||
accepted BOOLEAN NOT NULL,
|
||||
UNIQUE (user_id, observed_user_id)
|
||||
) ;
|
||||
|
|
|
@ -35,8 +35,8 @@ CREATE TABLE IF NOT EXISTS user_ips (
|
|||
device_id VARCHAR(150),
|
||||
ip VARCHAR(150) NOT NULL,
|
||||
user_agent VARCHAR(150) NOT NULL,
|
||||
last_seen BIGINT NOT NULL,
|
||||
UNIQUE (user, access_token, ip, user_agent)
|
||||
last_seen BIGINT NOT NULL
|
||||
) ;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS user_ips_user ON user_ips(user);
|
||||
CREATE INDEX IF NOT EXISTS user_ips_user_ip ON user_ips(user, access_token, ip);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue