From 1ed74d412378ad31259a57de4bb06e69bdea7e2c Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Mon, 7 Aug 2017 15:50:00 +0100 Subject: [PATCH] Fix SQL --- .../dendrite/roomserver/storage/invite_table.go | 2 +- .../dendrite/roomserver/storage/membership_table.go | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/roomserver/storage/invite_table.go b/src/github.com/matrix-org/dendrite/roomserver/storage/invite_table.go index 193de4d14..8fc61d2c9 100644 --- a/src/github.com/matrix-org/dendrite/roomserver/storage/invite_table.go +++ b/src/github.com/matrix-org/dendrite/roomserver/storage/invite_table.go @@ -56,7 +56,7 @@ const insertInviteEventSQL = "" + " ON CONFLICT DO NOTHING" const selectInviteActiveForUserInRoomSQL = "" + - "SELECT invite_event_id, sender_nid FROM roomserver_invites" + + "SELECT sender_nid FROM roomserver_invites" + " WHERE target_nid = $1 AND room_nid = $2" + " AND NOT retired" diff --git a/src/github.com/matrix-org/dendrite/roomserver/storage/membership_table.go b/src/github.com/matrix-org/dendrite/roomserver/storage/membership_table.go index c3e092b19..8632d391c 100644 --- a/src/github.com/matrix-org/dendrite/roomserver/storage/membership_table.go +++ b/src/github.com/matrix-org/dendrite/roomserver/storage/membership_table.go @@ -23,9 +23,9 @@ import ( type membershipState int64 const ( - membershipStateLeaveOrBan membershipState = 0 - membershipStateInvite membershipState = 1 - membershipStateJoin membershipState = 2 + membershipStateLeaveOrBan membershipState = 1 + membershipStateInvite membershipState = 2 + membershipStateJoin membershipState = 3 ) const membershipSchema = ` @@ -40,9 +40,12 @@ CREATE TABLE IF NOT EXISTS roomserver_membership ( -- Numeric state key ID for the user ID this state is for. target_nid BIGINT NOT NULL, -- Numeric state key ID for the user ID who changed the state. + -- This may be 0 since it is not always possible to identify the user that + -- changed the state. sender_nid BIGINT NOT NULL DEFAULT 0, -- The state the user is in within this room. - membership_nid BIGINT NOT NULL DEFAULT 0, + -- Default value is "membershipStateLeaveOrBan" + membership_nid BIGINT NOT NULL DEFAULT 1, UNIQUE (room_nid, target_nid) ); `