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) { ) (err error) {
oldLatest, updater, err := db.GetLatestEventsForUpdate(roomNID) oldLatest, updater, err := db.GetLatestEventsForUpdate(roomNID)
if err != nil { if err != nil {
return err return
} }
defer func() { defer func() {
if err == nil { 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 var prevEvents []gomatrixserverlib.EventReference
prevEvents = event.PrevEvents() prevEvents = event.PrevEvents()
@ -84,7 +92,5 @@ func updateLatestEvents(
return err return err
} }
// The err should be nil at this point. return nil
// But when we call Close in the defer above it might set an error here.
return
} }