internal/postgres: delete LegacyGetTaggedVersions* and LegacyGetPseudoVersions*

For golang/go#39629

Change-Id: Ie498e9c8b1de83185b33b8a0fbb9af82d96911fc
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/258296
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
diff --git a/internal/postgres/version.go b/internal/postgres/version.go
index cf71fdb..46ff82b 100644
--- a/internal/postgres/version.go
+++ b/internal/postgres/version.go
@@ -16,141 +16,6 @@
 	"golang.org/x/pkgsite/internal/version"
 )
 
-// LegacyGetTaggedVersionsForPackageSeries returns a list of tagged versions sorted in
-// descending semver order. This list includes tagged versions of packages that
-// have the same v1path.
-func (db *DB) LegacyGetTaggedVersionsForPackageSeries(ctx context.Context, pkgPath string) ([]*internal.ModuleInfo, error) {
-	return getPackageVersions(ctx, db, pkgPath, []version.Type{version.TypeRelease, version.TypePrerelease})
-}
-
-// LegacyGetPsuedoVersionsForPackageSeries returns the 10 most recent from a list of
-// pseudo-versions sorted in descending semver order. This list includes
-// pseudo-versions of packages that have the same v1path.
-func (db *DB) LegacyGetPsuedoVersionsForPackageSeries(ctx context.Context, pkgPath string) ([]*internal.ModuleInfo, error) {
-	return getPackageVersions(ctx, db, pkgPath, []version.Type{version.TypePseudo})
-}
-
-// getPackageVersions returns a list of versions sorted in descending semver
-// order. The version types included in the list are specified by a list of
-// VersionTypes.
-func getPackageVersions(ctx context.Context, db *DB, pkgPath string, versionTypes []version.Type) (_ []*internal.ModuleInfo, err error) {
-	defer derrors.Wrap(&err, "DB.getPackageVersions(ctx, db, %q, %v)", pkgPath, versionTypes)
-
-	baseQuery := `
-		SELECT
-			p.module_path,
-			p.version,
-			m.commit_time
-		FROM
-			packages p
-		INNER JOIN
-			modules m
-		ON
-			p.module_path = m.module_path
-			AND p.version = m.version
-		WHERE
-			p.v1_path = (
-				SELECT v1_path
-				FROM packages
-				WHERE path = $1
-				LIMIT 1
-			)
-			AND version_type in (%s)
-		ORDER BY
-			m.incompatible,
-			m.sort_version DESC %s`
-	queryEnd := `;`
-	if len(versionTypes) == 0 {
-		return nil, fmt.Errorf("error: must specify at least one version type")
-	} else if len(versionTypes) == 1 && versionTypes[0] == version.TypePseudo {
-		queryEnd = `LIMIT 10;`
-	}
-	query := fmt.Sprintf(baseQuery, versionTypeExpr(versionTypes), queryEnd)
-
-	rows, err := db.db.Query(ctx, query, pkgPath)
-	if err != nil {
-		return nil, err
-	}
-	defer rows.Close()
-
-	var versionHistory []*internal.ModuleInfo
-	for rows.Next() {
-		var mi internal.ModuleInfo
-		if err := rows.Scan(&mi.ModulePath, &mi.Version, &mi.CommitTime); err != nil {
-			return nil, fmt.Errorf("row.Scan(): %v", err)
-		}
-		versionHistory = append(versionHistory, &mi)
-	}
-
-	if err := rows.Err(); err != nil {
-		return nil, fmt.Errorf("rows.Err(): %v", err)
-	}
-
-	return versionHistory, nil
-}
-
-// versionTypeExpr returns a comma-separated list of version types,
-// for use in a clause like "WHERE version_type IN (%s)"
-func versionTypeExpr(vts []version.Type) string {
-	var vs []string
-	for _, vt := range vts {
-		vs = append(vs, fmt.Sprintf("'%s'", vt.String()))
-	}
-	return strings.Join(vs, ", ")
-}
-
-// LegacyGetTaggedVersionsForModule returns a list of tagged versions sorted in
-// descending semver order.
-func (db *DB) LegacyGetTaggedVersionsForModule(ctx context.Context, modulePath string) ([]*internal.ModuleInfo, error) {
-	return getModuleVersions(ctx, db, modulePath, []version.Type{version.TypeRelease, version.TypePrerelease})
-}
-
-// LegacyGetPsuedoVersionsForModule returns the 10 most recent from a list of
-// pseudo-versions sorted in descending semver order.
-func (db *DB) LegacyGetPsuedoVersionsForModule(ctx context.Context, modulePath string) ([]*internal.ModuleInfo, error) {
-	return getModuleVersions(ctx, db, modulePath, []version.Type{version.TypePseudo})
-}
-
-// getModuleVersions returns a list of versions sorted in descending semver
-// order. The version types included in the list are specified by a list of
-// VersionTypes.
-func getModuleVersions(ctx context.Context, db *DB, modulePath string, versionTypes []version.Type) (_ []*internal.ModuleInfo, err error) {
-	defer derrors.Wrap(&err, "getModuleVersions(ctx, db, %q, %v)", modulePath, versionTypes)
-
-	baseQuery := `
-	SELECT
-		module_path, version, commit_time
-    FROM
-		modules
-	WHERE
-		series_path = $1
-	    AND version_type in (%s)
-	ORDER BY
-		incompatible,
-		sort_version DESC %s`
-
-	queryEnd := `;`
-	if len(versionTypes) == 0 {
-		return nil, fmt.Errorf("error: must specify at least one version type")
-	} else if len(versionTypes) == 1 && versionTypes[0] == version.TypePseudo {
-		queryEnd = `LIMIT 10;`
-	}
-	query := fmt.Sprintf(baseQuery, versionTypeExpr(versionTypes), queryEnd)
-	var vinfos []*internal.ModuleInfo
-	collect := func(rows *sql.Rows) error {
-		var mi internal.ModuleInfo
-		if err := rows.Scan(&mi.ModulePath, &mi.Version, &mi.CommitTime); err != nil {
-			return err
-		}
-		vinfos = append(vinfos, &mi)
-		return nil
-	}
-	if err := db.db.RunQuery(ctx, query, collect, internal.SeriesPathForModule(modulePath)); err != nil {
-		return nil, err
-	}
-	return vinfos, nil
-}
-
 // GetVersionsForPath returns a list of tagged versions sorted in
 // descending semver order if any exist. If none, it returns the 10 most
 // recent from a list of pseudo-versions sorted in descending semver order.
@@ -223,6 +88,16 @@
 	return versions, nil
 }
 
+// versionTypeExpr returns a comma-separated list of version types,
+// for use in a clause like "WHERE version_type IN (%s)"
+func versionTypeExpr(vts []version.Type) string {
+	var vs []string
+	for _, vt := range vts {
+		vs = append(vs, fmt.Sprintf("'%s'", vt.String()))
+	}
+	return strings.Join(vs, ", ")
+}
+
 // GetLatestMajorVersion returns the latest major version string of a module
 // path. For example, in the module path "github.com/casbin/casbin", there
 // is another path with a greater major version
diff --git a/internal/postgres/version_test.go b/internal/postgres/version_test.go
index bbe9bea..47b34ec 100644
--- a/internal/postgres/version_test.go
+++ b/internal/postgres/version_test.go
@@ -18,142 +18,6 @@
 	"golang.org/x/pkgsite/internal/testing/sample"
 )
 
-func TestPostgres_GetTaggedAndPseudoVersions(t *testing.T) {
-	ctx, cancel := context.WithTimeout(context.Background(), testTimeout*2)
-	defer cancel()
-
-	var (
-		modulePath1 = "path.to/foo"
-		modulePath2 = "path.to/foo/v2"
-		modulePath3 = "path.to/some/thing"
-		testModules = []*internal.Module{
-			sample.Module(modulePath3, "v3.0.0", "else"),
-			sample.Module(modulePath1, "v2.0.0+incompatible", "bar"),
-			sample.Module(modulePath1, "v1.0.0-alpha.1", "bar"),
-			sample.Module(modulePath1, "v1.0.0", "bar"),
-			sample.Module(modulePath2, "v2.0.1-beta", "bar"),
-			sample.Module(modulePath2, "v2.1.0", "bar"),
-		}
-	)
-
-	testCases := []struct {
-		name, path, modulePath string
-		numPseudo              int
-		modules                []*internal.Module
-		wantTaggedVersions     []*internal.ModuleInfo
-	}{
-		{
-			name:       "want_releases_and_prereleases_only",
-			path:       "path.to/foo/bar",
-			modulePath: modulePath1,
-			numPseudo:  12,
-			modules:    testModules,
-			wantTaggedVersions: []*internal.ModuleInfo{
-				{
-					ModulePath: modulePath2,
-					Version:    "v2.1.0",
-					CommitTime: sample.CommitTime,
-				},
-				{
-					ModulePath: modulePath2,
-					Version:    "v2.0.1-beta",
-					CommitTime: sample.CommitTime,
-				},
-				{
-					ModulePath: modulePath1,
-					Version:    "v1.0.0",
-					CommitTime: sample.CommitTime,
-				},
-				{
-					ModulePath: modulePath1,
-					Version:    "v1.0.0-alpha.1",
-					CommitTime: sample.CommitTime,
-				},
-				{
-					ModulePath: modulePath1,
-					Version:    "v2.0.0+incompatible",
-					CommitTime: sample.CommitTime,
-				},
-			},
-		},
-		{
-			name:       "want_zero_results_in_non_empty_db",
-			path:       "not.a/real/path",
-			modulePath: "not.a/real/path",
-			modules:    testModules,
-		},
-		{
-			name:       "want_zero_results_in_empty_db",
-			path:       "not.a/real/path",
-			modulePath: "not.a/real/path",
-		},
-	}
-
-	for _, tc := range testCases {
-		t.Run(tc.name, func(t *testing.T) {
-			defer ResetTestDB(testDB, t)
-
-			var wantPseudoVersions []*internal.ModuleInfo
-			for i := 0; i < tc.numPseudo; i++ {
-
-				pseudo := fmt.Sprintf("v0.0.0-201806111833%02d-d8887717615a", i+1)
-				m := sample.Module(modulePath1, pseudo, "bar")
-				if err := testDB.InsertModule(ctx, m); err != nil {
-					t.Fatal(err)
-				}
-
-				// LegacyGetPsuedoVersions should only return the 10 most recent pseudo versions,
-				// if there are more than 10 in the database
-				if i < 10 {
-					wantPseudoVersions = append(wantPseudoVersions, &internal.ModuleInfo{
-						ModulePath: modulePath1,
-						Version:    fmt.Sprintf("v0.0.0-201806111833%02d-d8887717615a", tc.numPseudo-i),
-						CommitTime: sample.CommitTime,
-					})
-				}
-			}
-
-			for _, m := range tc.modules {
-				if err := testDB.InsertModule(ctx, m); err != nil {
-					t.Fatal(err)
-				}
-			}
-
-			got, err := testDB.LegacyGetPsuedoVersionsForPackageSeries(ctx, tc.path)
-			if err != nil {
-				t.Fatal(err)
-			}
-			if diff := cmp.Diff(wantPseudoVersions, got, cmp.AllowUnexported(source.Info{})); diff != "" {
-				t.Errorf("testDB.LegacyGetPsuedoVersionsForPackageSeries(%q) mismatch (-want +got):\n%s", tc.path, diff)
-			}
-
-			got, err = testDB.LegacyGetTaggedVersionsForPackageSeries(ctx, tc.path)
-			if err != nil {
-				t.Fatal(err)
-			}
-			if diff := cmp.Diff(tc.wantTaggedVersions, got, cmp.AllowUnexported(source.Info{})); diff != "" {
-				t.Errorf("testDB.LegacyGetTaggedVersionsForPackageSeries(%q) mismatch (-want +got):\n%s", tc.path, diff)
-			}
-
-			got, err = testDB.LegacyGetPsuedoVersionsForModule(ctx, tc.modulePath)
-			if err != nil {
-				t.Fatal(err)
-			}
-			if diff := cmp.Diff(wantPseudoVersions, got, cmp.AllowUnexported(source.Info{})); diff != "" {
-				t.Errorf("testDB.LegacyGetPsuedoVersionsForModule(%q) mismatch (-want +got):\n%s", tc.path, diff)
-			}
-
-			got, err = testDB.LegacyGetTaggedVersionsForModule(ctx, tc.modulePath)
-			if err != nil {
-				t.Fatal(err)
-			}
-			if diff := cmp.Diff(tc.wantTaggedVersions, got, cmp.AllowUnexported(source.Info{})); diff != "" {
-				t.Errorf("testDB.LegacyGetTaggedVersionsForModule(%q) mismatch (-want +got):\n%s", tc.path, diff)
-			}
-		})
-	}
-}
-
 func TestGetVersions(t *testing.T) {
 	ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
 	defer cancel()