aboutsummaryrefslogtreecommitdiff
path: root/internal/postgres/versionstate.go
diff options
context:
space:
mode:
authorJonathan Amsterdam <jba@google.com>2019-08-16 15:29:13 -0400
committerJulie Qiu <julie@golang.org>2020-03-27 16:46:42 -0400
commit15538f83a1b446d9367df1e27c0ed6828ab327ae (patch)
tree3ed0c83f97f079124677b1e219c7ff0db1a0d425 /internal/postgres/versionstate.go
parent4372849e387f5d8f39d16c56d1160385e84eeb04 (diff)
downloadgo-x-pkgsite-15538f83a1b446d9367df1e27c0ed6828ab327ae.tar.xz
internal/postgres: use DB.runQuery in some functions
Convert the following DB methods to use runQuery: - GetImports - Search - GetVersionStats Also, add missing rows.Err check to collectLicenses. Change-Id: Icf5bf26d9aae54e767b2a4678512ac6f27963c63 Reviewed-on: https://team-review.git.corp.google.com/c/golang/discovery/+/529193 Reviewed-by: Robert Findley <rfindley@google.com>
Diffstat (limited to 'internal/postgres/versionstate.go')
-rw-r--r--internal/postgres/versionstate.go23
1 files changed, 11 insertions, 12 deletions
diff --git a/internal/postgres/versionstate.go b/internal/postgres/versionstate.go
index 8f2a7bf0..f521b56b 100644
--- a/internal/postgres/versionstate.go
+++ b/internal/postgres/versionstate.go
@@ -296,27 +296,26 @@ func (db *DB) GetVersionStats(ctx context.Context) (_ *VersionStats, err error)
module_version_states
GROUP BY status;`
- var (
- status sql.NullInt64
- indexTimestamp time.Time
- count int
- )
- rows, err := db.query(ctx, query)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
stats := &VersionStats{
VersionCounts: make(map[int]int),
}
- for rows.Next() {
+ err = db.runQuery(ctx, query, func(rows *sql.Rows) error {
+ var (
+ status sql.NullInt64
+ indexTimestamp time.Time
+ count int
+ )
if err := rows.Scan(&status, &indexTimestamp, &count); err != nil {
- return nil, fmt.Errorf("row.Scan(): %v", err)
+ return fmt.Errorf("row.Scan(): %v", err)
}
if indexTimestamp.After(stats.LatestTimestamp) {
stats.LatestTimestamp = indexTimestamp
}
stats.VersionCounts[int(status.Int64)] = count
+ return nil
+ })
+ if err != nil {
+ return nil, err
}
return stats, nil
}