Skip to content

Commit 0e26662

Browse files
Allow events to be un-rejected (element-hq#2159)
* Allow un-rejecting an event later * SQL * Only un-reject, don't re-reject * Clarify ambiguous column reference
1 parent a2b4777 commit 0e26662

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

roomserver/storage/postgres/events_table.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ CREATE TABLE IF NOT EXISTS roomserver_events (
7171
`
7272

7373
const insertEventSQL = "" +
74-
"INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)" +
74+
"INSERT INTO roomserver_events AS e (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)" +
7575
" VALUES ($1, $2, $3, $4, $5, $6, $7, $8)" +
76-
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique" +
77-
" DO NOTHING" +
76+
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" +
77+
" SET is_rejected = $8 WHERE e.is_rejected = FALSE" +
7878
" RETURNING event_nid, state_snapshot_nid"
7979

8080
const selectEventSQL = "" +

roomserver/storage/sqlite3/events_table.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ const eventsSchema = `
4949
const insertEventSQL = `
5050
INSERT INTO roomserver_events (room_nid, event_type_nid, event_state_key_nid, event_id, reference_sha256, auth_event_nids, depth, is_rejected)
5151
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
52-
ON CONFLICT DO NOTHING
52+
ON CONFLICT DO UPDATE
53+
SET is_rejected = $8 WHERE is_rejected = 0
5354
RETURNING event_nid, state_snapshot_nid;
5455
`
5556

0 commit comments

Comments
 (0)