Move the guts of updateLatestEvents to a separate function to keep the commit and rollback code clearer

This commit is contained in:
Mark Haines 2017-02-21 14:37:10 +00:00
parent 8a9dbad5a8
commit 9079f961f7

View file

@ -26,7 +26,7 @@ func updateLatestEvents(
) (err error) {
oldLatest, updater, err := db.GetLatestEventsForUpdate(roomNID)
if err != nil {
return err
return
}
defer func() {
if err == nil {
@ -42,6 +42,14 @@ func updateLatestEvents(
}
}()
err = doUpdateLatestEvents(updater, oldLatest, roomNID, stateAtEvent, event)
return
}
func doUpdateLatestEvents(
updater types.RoomRecentEventsUpdater, oldLatest []types.StateAtEventAndReference, roomNID types.RoomNID, stateAtEvent types.StateAtEvent, event gomatrixserverlib.Event,
) error {
var err error
var prevEvents []gomatrixserverlib.EventReference
prevEvents = event.PrevEvents()
@ -84,7 +92,5 @@ func updateLatestEvents(
return err
}
// The err should be nil at this point.
// But when we call Close in the defer above it might set an error here.
return
return nil
}