diff options
| author | Jonathan Amsterdam <jba@google.com> | 2021-04-29 12:36:32 -0400 |
|---|---|---|
| committer | Jonathan Amsterdam <jba@google.com> | 2021-04-29 21:19:12 +0000 |
| commit | 347a561e1c1a718d5c5fc8ddc8c57ed984740d73 (patch) | |
| tree | 56245104e01bbf7224b9841f9976a2c5cf4b3710 /internal/postgres/versionstate.go | |
| parent | 4c223c7713d1f7ef6e044009fedbc9d1dfbb0edb (diff) | |
| download | go-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.go | 19 |
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: |
