aboutsummaryrefslogtreecommitdiff
path: root/internal/postgres/versionstate.go
diff options
context:
space:
mode:
authorJonathan Amsterdam <jba@google.com>2021-04-29 12:36:32 -0400
committerJonathan Amsterdam <jba@google.com>2021-04-29 21:19:12 +0000
commit347a561e1c1a718d5c5fc8ddc8c57ed984740d73 (patch)
tree56245104e01bbf7224b9841f9976a2c5cf4b3710 /internal/postgres/versionstate.go
parent4c223c7713d1f7ef6e044009fedbc9d1dfbb0edb (diff)
downloadgo-x-pkgsite-347a561e1c1a718d5c5fc8ddc8c57ed984740d73.tar.xz
internal/postgres: add function to clean modules
Add CleanModuleVersions, which deletes module versions and gives them Cleaned status in module_version_states. For golang/go#45852 Change-Id: I26af0981f75e735aebbf3ca2606ce8261330ee7c Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/315090 Trust: Jonathan Amsterdam <jba@google.com> Run-TryBot: Jonathan Amsterdam <jba@google.com> Reviewed-by: Julie Qiu <julie@golang.org>
Diffstat (limited to 'internal/postgres/versionstate.go')
-rw-r--r--internal/postgres/versionstate.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/internal/postgres/versionstate.go b/internal/postgres/versionstate.go
index 7ed3d5de..59a86e1e 100644
--- a/internal/postgres/versionstate.go
+++ b/internal/postgres/versionstate.go
@@ -160,6 +160,19 @@ func updateModulesStatus(ctx context.Context, db *database.DB, modulePath, resol
return nil
}
+// UpdateModuleVersionStatus updates the status and error fields of a module version.
+func (db *DB) UpdateModuleVersionStatus(ctx context.Context, modulePath, version string, status int, error string) (err error) {
+ defer derrors.WrapStack(&err, "UpdateModuleVersionStatus(%q, %q, %d)", modulePath, version, status)
+
+ query := `
+ UPDATE module_version_states
+ SET status = $3, error = $4
+ WHERE module_path = $1 AND version = $2
+ `
+ _, err = db.db.Exec(ctx, query, modulePath, version, status, error)
+ return err
+}
+
func upsertPackageVersionStates(ctx context.Context, db *database.DB, packageVersionStates []*internal.PackageVersionState) (err error) {
defer derrors.WrapStack(&err, "upsertPackageVersionStates")
ctx, span := trace.StartSpan(ctx, "upsertPackageVersionStates")
@@ -308,8 +321,8 @@ func (db *DB) GetRecentVersions(ctx context.Context, limit int) (_ []*internal.M
// GetModuleVersionState returns the current module version state for
// modulePath and version.
-func (db *DB) GetModuleVersionState(ctx context.Context, modulePath, resolvedVrsion string) (_ *internal.ModuleVersionState, err error) {
- defer derrors.WrapStack(&err, "GetModuleVersionState(ctx, %q, %q)", modulePath, resolvedVrsion)
+func (db *DB) GetModuleVersionState(ctx context.Context, modulePath, resolvedVersion string) (_ *internal.ModuleVersionState, err error) {
+ defer derrors.WrapStack(&err, "GetModuleVersionState(ctx, %q, %q)", modulePath, resolvedVersion)
query := fmt.Sprintf(`
SELECT %s
@@ -319,7 +332,7 @@ func (db *DB) GetModuleVersionState(ctx context.Context, modulePath, resolvedVrs
module_path = $1
AND version = $2;`, moduleVersionStateColumns)
- row := db.db.QueryRow(ctx, query, modulePath, resolvedVrsion)
+ row := db.db.QueryRow(ctx, query, modulePath, resolvedVersion)
v, err := scanModuleVersionState(row.Scan)
switch err {
case nil: