internal/postgres: factor out delete from imports_unique
Add a function that deletes a module from imports_unique,
and call it where needed.
Change-Id: I0209d09855bf939e644cac646f1b8918bc48e990
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/341852
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/internal/postgres/delete.go b/internal/postgres/delete.go
index 4b36663..a8cb0ca 100644
--- a/internal/postgres/delete.go
+++ b/internal/postgres/delete.go
@@ -40,8 +40,7 @@
return err
}
// No versions of this module exist; remove it from imports_unique.
- _, err = tx.Exec(ctx, `DELETE FROM imports_unique WHERE from_module_path = $1`, modulePath)
- return err
+ return deleteModuleFromImportsUnique(ctx, tx, modulePath)
})
}
@@ -124,6 +123,16 @@
return nil
}
+func deleteModuleFromImportsUnique(ctx context.Context, db *database.DB, modulePath string) (err error) {
+ defer derrors.Wrap(&err, "deleteModuleFromImportsUnique(%q)", modulePath)
+
+ _, err = db.Exec(ctx, `
+ DELETE FROM imports_unique
+ WHERE from_module_path = $1
+ `, modulePath)
+ return err
+}
+
// DeletePseudoversionsExcept deletes all pseudoversions for the module except
// the provided resolvedVersion.
func (db *DB) DeletePseudoversionsExcept(ctx context.Context, modulePath, resolvedVersion string) (err error) {
diff --git a/internal/postgres/insert_module.go b/internal/postgres/insert_module.go
index f406ca8..e664f60 100644
--- a/internal/postgres/insert_module.go
+++ b/internal/postgres/insert_module.go
@@ -317,9 +317,7 @@
// Remove the previous rows for this module. We'll replace them with
// new ones below.
- if _, err := tx.Exec(ctx,
- `DELETE FROM imports_unique WHERE from_module_path = $1`,
- m.ModulePath); err != nil {
+ if err := deleteModuleFromImportsUnique(ctx, tx, m.ModulePath); err != nil {
return err
}
@@ -666,10 +664,7 @@
if err := deleteModuleOrPackagesInModuleFromSearchDocuments(ctx, tx, modulePath, nil); err != nil {
return err
}
- if _, err := tx.Exec(ctx, `
- DELETE FROM imports_unique
- WHERE from_module_path = $1
- `, modulePath); err != nil {
+ if err := deleteModuleFromImportsUnique(ctx, tx, modulePath); err != nil {
return err
}
log.Debugf(ctx, "ReInsertLatestVersion(%q): no good version; removed from search_documents and imports_unique", modulePath)
@@ -736,7 +731,7 @@
}
// Remove old rows from imports_unique.
- if _, err := tx.Exec(ctx, `DELETE FROM imports_unique WHERE from_module_path = $1`, modulePath); err != nil {
+ if err := deleteModuleFromImportsUnique(ctx, tx, modulePath); err != nil {
return err
}