aboutsummaryrefslogtreecommitdiff
path: root/syncapi/storage/postgres/backward_extremities_table.go
diff options
context:
space:
mode:
authorKiril Vladimiroff <kiril@vladimiroff.org>2020-02-11 16:12:21 +0200
committerGitHub <noreply@github.com>2020-02-11 14:12:21 +0000
commitd5dbe546e461261056b5fda1a2ac9fc6d36c69e1 (patch)
treefc5f950d5c4e51fe2167239b847c4e6d9b01831b /syncapi/storage/postgres/backward_extremities_table.go
parentd45f869cdd35b07ed9b44445732b27935ca1910d (diff)
Always defer *sql.Rows.Close and consult with Err (#844)
* Always defer *sql.Rows.Close and consult with Err database/sql.Rows.Next() makes sure to call Close only after exhausting result rows which would NOT happen when returning early from a bad Scan. Close being idempotent makes it a great candidate to get always deferred regardless of what happens later on the result set. This change also makes sure call Err() after exhausting Next() and propagate non-nil results from it as the documentation advises. Closes #764 Signed-off-by: Kiril Vladimiroff <kiril@vladimiroff.org> * Override named result parameters in last returns Signed-off-by: Kiril Vladimiroff <kiril@vladimiroff.org> * Do the same over new changes that got merged Signed-off-by: Kiril Vladimiroff <kiril@vladimiroff.org> Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Diffstat (limited to 'syncapi/storage/postgres/backward_extremities_table.go')
-rw-r--r--syncapi/storage/postgres/backward_extremities_table.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/syncapi/storage/postgres/backward_extremities_table.go b/syncapi/storage/postgres/backward_extremities_table.go
index 1489f7f9..d63c546e 100644
--- a/syncapi/storage/postgres/backward_extremities_table.go
+++ b/syncapi/storage/postgres/backward_extremities_table.go
@@ -91,6 +91,7 @@ func (s *backwardExtremitiesStatements) selectBackwardExtremitiesForRoom(
if err != nil {
return
}
+ defer rows.Close() // nolint: errcheck
for rows.Next() {
var eID string
@@ -101,7 +102,7 @@ func (s *backwardExtremitiesStatements) selectBackwardExtremitiesForRoom(
eventIDs = append(eventIDs, eID)
}
- return
+ return eventIDs, rows.Err()
}
func (s *backwardExtremitiesStatements) isBackwardExtremity(