aboutsummaryrefslogtreecommitdiff
path: root/roomserver
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-02-09 11:24:49 +0000
committerNeil Alexander <neilalexander@users.noreply.github.com>2022-02-09 11:24:49 +0000
commitb4687f2ed24ae4f397e039776118c6efee306fa9 (patch)
treeeec29df1e312cc333c846075fd4aec81c2460a4f /roomserver
parent2771d93748380aa7dc21adca0ef690348d79f002 (diff)
Fix storage bug in PSQL events table
Diffstat (limited to 'roomserver')
-rw-r--r--roomserver/storage/postgres/events_table.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/roomserver/storage/postgres/events_table.go b/roomserver/storage/postgres/events_table.go
index ece1d9e3..c136f039 100644
--- a/roomserver/storage/postgres/events_table.go
+++ b/roomserver/storage/postgres/events_table.go
@@ -74,7 +74,7 @@ const insertEventSQL = "" +
"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)" +
" VALUES ($1, $2, $3, $4, $5, $6, $7, $8)" +
" ON CONFLICT ON CONSTRAINT roomserver_event_id_unique DO UPDATE" +
- " SET is_rejected = $8 WHERE e.is_rejected = FALSE" +
+ " SET is_rejected = $8 WHERE e.event_id = $4 AND e.is_rejected = FALSE" +
" RETURNING event_nid, state_snapshot_nid"
const selectEventSQL = "" +
@@ -192,7 +192,8 @@ func (s *eventStatements) InsertEvent(
) (types.EventNID, types.StateSnapshotNID, error) {
var eventNID int64
var stateNID int64
- err := s.insertEventStmt.QueryRowContext(
+ stmt := sqlutil.TxStmt(txn, s.insertEventStmt)
+ err := stmt.QueryRowContext(
ctx, int64(roomNID), int64(eventTypeNID), int64(eventStateKeyNID),
eventID, referenceSHA256, eventNIDsAsArray(authEventNIDs), depth,
isRejected,