internal/{worker,postgres}: remove DeleteOlderVersionFromSearchDocuments
Thanks to the recent change to ReconcileSearch to handle the current
module version being alternative, this is no longer necessary.
Change-Id: I0c1e1fa917de349496c20c4e0bc101c703853490
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/342171
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 a8cb0ca..94d0e23 100644
--- a/internal/postgres/delete.go
+++ b/internal/postgres/delete.go
@@ -10,7 +10,6 @@
"github.com/Masterminds/squirrel"
"github.com/lib/pq"
- "golang.org/x/mod/semver"
"golang.org/x/pkgsite/internal"
"golang.org/x/pkgsite/internal/database"
"golang.org/x/pkgsite/internal/derrors"
@@ -44,43 +43,6 @@
})
}
-// DeleteOlderVersionFromSearchDocuments deletes from search_documents every package with
-// the given module path whose version is older than the given version.
-// It is used when fetching a module with an alternative path. See internal/worker/fetch.go:fetchAndUpdateState.
-func (db *DB) DeleteOlderVersionFromSearchDocuments(ctx context.Context, modulePath, resolvedVersion string) (err error) {
- defer derrors.WrapStack(&err, "DeleteOlderVersionFromSearchDocuments(ctx, %q, %q)", modulePath, resolvedVersion)
-
- return db.db.Transact(ctx, sql.LevelDefault, func(tx *database.DB) error {
- // Collect all package paths in search_documents with the given module path
- // and an older version. (package_path is the primary key of search_documents.)
- var ppaths []string
- query := `
- SELECT package_path, version
- FROM search_documents
- WHERE module_path = $1
- `
- err := tx.RunQuery(ctx, query, func(rows *sql.Rows) error {
- var ppath, v string
- if err := rows.Scan(&ppath, &v); err != nil {
- return err
- }
- if semver.Compare(v, resolvedVersion) < 0 {
- ppaths = append(ppaths, ppath)
- }
- return nil
- }, modulePath)
- if err != nil {
- return err
- }
- if len(ppaths) == 0 {
- return nil
- }
-
- // Delete all of those paths.
- return deleteModuleOrPackagesInModuleFromSearchDocuments(ctx, tx, modulePath, ppaths)
- })
-}
-
// deleteOtherModulePackagesFromSearchDocuments deletes all packages from search
// documents with the given module that are not in m.
func deleteOtherModulePackagesFromSearchDocuments(ctx context.Context, tx *database.DB, m *internal.Module) error {
diff --git a/internal/postgres/delete_test.go b/internal/postgres/delete_test.go
index ae15a73..87868f3 100644
--- a/internal/postgres/delete_test.go
+++ b/internal/postgres/delete_test.go
@@ -85,20 +85,6 @@
checkSearchDocuments(ctx, t, db, initial[2:])
}
- t.Run("DeleteOlderVersionFromSearchDocuments", func(t *testing.T) {
- testDB, release := acquire(t)
- defer release()
- insertInitial(testDB)
-
- if err := testDB.DeleteOlderVersionFromSearchDocuments(ctx, modulePath, "v1.2.3"); err != nil {
- t.Fatal(err)
- }
-
- checkSearchDocuments(ctx, t, testDB, []searchDocumentRow{
- {modulePath + "/p4", modulePath, "v1.9.0", 0}, // newer version not deleted
- {"other.org/p2", "other.org", "v1.1.0", 0}, // other module not deleted
- })
- })
t.Run("deleteModuleFromSearchDocuments", func(t *testing.T) {
// Non-empty list of packages tested above. This tests an empty list.
testDB, release := acquire(t)
diff --git a/internal/worker/fetch.go b/internal/worker/fetch.go
index 3dc44d1..6dd9983 100644
--- a/internal/worker/fetch.go
+++ b/internal/worker/fetch.go
@@ -371,25 +371,7 @@
// Update the latest good version for this module, because deleting this
// version may have changed it.
- if err := db.UpdateLatestGoodVersion(ctx, ft.ModulePath); err != nil {
- return err
- }
-
- // If this was an alternative path (ft.Status == 491) and there is an older
- // version in search_documents, delete it. This is the case where a module's
- // canonical path was changed by the addition of a go.mod file. For example,
- // versions of logrus before it acquired a go.mod file could have the path
- // github.com/Sirupsen/logrus, but once the go.mod file specifies that the
- // path is all lower-case, the old versions should not show up in search. We
- // still leave their pages in the database so users of those old versions
- // can still view documentation.
- if ft.Status == derrors.ToStatus(derrors.AlternativeModule) {
- log.Infof(ctx, "%s@%s: code=491, deleting older version from search", ft.ModulePath, ft.ResolvedVersion)
- if err := db.DeleteOlderVersionFromSearchDocuments(ctx, ft.ModulePath, ft.ResolvedVersion); err != nil {
- return err
- }
- }
- return nil
+ return db.UpdateLatestGoodVersion(ctx, ft.ModulePath)
}
func logTaskResult(ctx context.Context, ft *fetchTask, prefix string) {