Fix SQLite

This commit is contained in:
Neil Alexander 2022-10-11 15:21:05 +01:00
parent 2c052ea292
commit 2f67bca94b
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
3 changed files with 9 additions and 11 deletions

View file

@ -155,6 +155,7 @@ func (s *OutputRoomEventConsumer) onRedactEvent(
"event_id": msg.RedactedBecause.EventID(),
"redacted_event_id": msg.RedactedEventID,
}).WithError(err).Warn("Failed to redact relations")
return err
}
// fake a room event so we notify clients about the redaction, as if it were
@ -285,6 +286,7 @@ func (s *OutputRoomEventConsumer) onNewRoomEvent(
"event_id": ev.EventID(),
"type": ev.Type(),
}).WithError(err).Warn("Failed to update relations")
return err
}
s.pduStream.Advance(pduPos)
@ -337,6 +339,7 @@ func (s *OutputRoomEventConsumer) onOldRoomEvent(
"event_id": ev.EventID(),
"type": ev.Type(),
}).WithError(err).Warn("Failed to update relations")
return err
}
if pduPos, err = s.notifyJoinedPeeks(ctx, ev, pduPos); err != nil {

View file

@ -604,14 +604,10 @@ func (d *Database) UpdateRelations(ctx context.Context, event *gomatrixserverlib
return nil
default:
return d.Writer.Do(d.DB, nil, func(txn *sql.Tx) error {
var err error
_, err = d.Relations.InsertRelation(
_, err := d.Relations.InsertRelation(
ctx, txn, event.RoomID(), content.Relations.EventID,
event.EventID(), content.Relations.RelationType,
)
if err != nil {
logrus.WithError(err).Errorf("Failed to update relations for room %s when processing event %s", event.RoomID(), event.EventID())
}
return err
})
}

View file

@ -97,14 +97,13 @@ func NewSqliteRelationsTable(db *sql.DB, streamID *StreamIDStatements) (tables.R
func (s *relationsStatements) InsertRelation(
ctx context.Context, txn *sql.Tx, roomID, eventID, childEventID, relType string,
) (streamPos types.StreamPosition, err error) {
pos, err := s.streamIDStatements.nextRelationID(ctx, txn)
if err != nil {
if streamPos, err = s.streamIDStatements.nextRelationID(ctx, txn); err != nil {
return
}
_, err = sqlutil.TxStmt(txn, s.insertRelationStmt).ExecContext(
ctx, pos, roomID, eventID, childEventID, relType,
)
return pos, err
err = sqlutil.TxStmt(txn, s.insertRelationStmt).QueryRowContext(
ctx, streamPos, roomID, eventID, childEventID, relType,
).Scan(&streamPos)
return
}
func (s *relationsStatements) DeleteRelation(