diff --git a/roomserver/storage/postgres/membership_table.go b/roomserver/storage/postgres/membership_table.go index a4146b997..2f32671f9 100644 --- a/roomserver/storage/postgres/membership_table.go +++ b/roomserver/storage/postgres/membership_table.go @@ -130,7 +130,8 @@ var selectKnownUsersSQL = "" + // is expensive. The presence of a single row from this query suggests we're still in the // room, no rows returned suggests we aren't. const selectLocalServerInRoomSQL = "" + - "SELECT TOP 1 room_nid FROM roomserver_membership WHERE target_local = true AND membership_nid = 3 AND room_nid = $1" + "SELECT room_nid FROM roomserver_membership WHERE target_local = true AND membership_nid = 3 AND room_nid = $1 " + + "FETCH FIRST 1 ROWS ONLY" type membershipStatements struct { insertMembershipStmt *sql.Stmt diff --git a/roomserver/storage/sqlite3/membership_table.go b/roomserver/storage/sqlite3/membership_table.go index 8d53fa35e..811f66492 100644 --- a/roomserver/storage/sqlite3/membership_table.go +++ b/roomserver/storage/sqlite3/membership_table.go @@ -106,7 +106,7 @@ var selectKnownUsersSQL = "" + // is expensive. The presence of a single row from this query suggests we're still in the // room, no rows returned suggests we aren't. const selectLocalServerInRoomSQL = "" + - "SELECT room_nid FROM roomserver_membership WHERE target_local = true AND membership_nid = 3 AND room_nid = $1 LIMIT 1" + "SELECT room_nid FROM roomserver_membership WHERE target_local = 1 AND membership_nid = 3 AND room_nid = $1 LIMIT 1" type membershipStatements struct { db *sql.DB