diff --git a/roomserver/storage/postgres/events_table.go b/roomserver/storage/postgres/events_table.go index 87b06a252..7321c1a45 100644 --- a/roomserver/storage/postgres/events_table.go +++ b/roomserver/storage/postgres/events_table.go @@ -73,7 +73,7 @@ CREATE TABLE IF NOT EXISTS roomserver_events ( const insertEventSQL = "" + "INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)" + " VALUES ($1, $2, $3, $4, $5, $6, $7, $8)" + - " ON CONFLICT ON CONSTRAINT roomserver_event_id_unique" + + " ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" + " SET is_rejected = $8" + " RETURNING event_nid, state_snapshot_nid" diff --git a/roomserver/storage/sqlite3/events_table.go b/roomserver/storage/sqlite3/events_table.go index 8f84823c8..4d4056fd2 100644 --- a/roomserver/storage/sqlite3/events_table.go +++ b/roomserver/storage/sqlite3/events_table.go @@ -49,7 +49,8 @@ const eventsSchema = ` const insertEventSQL = ` INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) - ON CONFLICT SET is_rejected = $8 + ON CONFLICT DO UPDATE + SET is_rejected = $8 RETURNING event_nid, state_snapshot_nid; `