aboutsummaryrefslogtreecommitdiff
path: root/internal/postgres
diff options
context:
space:
mode:
authorJulie Qiu <julie@golang.org>2021-05-04 18:54:28 -0400
committerJulie Qiu <julie@golang.org>2021-05-05 16:29:51 +0000
commit0dd74b0147638cc0e83d4e4dcb5494f84f4128a4 (patch)
tree6e12db11f089d8572218653621eedd3df1838b1b /internal/postgres
parentd91b6b559ecd20d8627f8e6ed1fca5e1b4f4ac86 (diff)
downloadgo-x-pkgsite-0dd74b0147638cc0e83d4e4dcb5494f84f4128a4.tar.xz
internal: enable symbol history for stdlib
Symbol history for standard library packages are now always displayed. For golang/go#37102 Change-Id: I323c7735726a22d4caac39bebd2e8d912fd03aad Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/317013 Trust: Julie Qiu <julie@golang.org> Run-TryBot: Julie Qiu <julie@golang.org> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Diffstat (limited to 'internal/postgres')
-rw-r--r--internal/postgres/insert_module_test.go1
-rw-r--r--internal/postgres/symbol_history.go4
-rw-r--r--internal/postgres/unit.go15
-rw-r--r--internal/postgres/unit_test.go4
4 files changed, 19 insertions, 5 deletions
diff --git a/internal/postgres/insert_module_test.go b/internal/postgres/insert_module_test.go
index 67d13adc..5b26656c 100644
--- a/internal/postgres/insert_module_test.go
+++ b/internal/postgres/insert_module_test.go
@@ -113,6 +113,7 @@ func checkModule(ctx context.Context, t *testing.T, db *DB, want *internal.Modul
wantu.Subdirectories = subdirectories
wantu.BuildContexts = got.BuildContexts
opts := cmp.Options{
+ cmpopts.EquateEmpty(),
cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage", "OldCoverage"),
cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
}
diff --git a/internal/postgres/symbol_history.go b/internal/postgres/symbol_history.go
index 5fff1915..1af359a0 100644
--- a/internal/postgres/symbol_history.go
+++ b/internal/postgres/symbol_history.go
@@ -15,6 +15,7 @@ import (
"golang.org/x/pkgsite/internal/derrors"
"golang.org/x/pkgsite/internal/experiment"
"golang.org/x/pkgsite/internal/middleware"
+ "golang.org/x/pkgsite/internal/stdlib"
"golang.org/x/pkgsite/internal/symbol"
)
@@ -25,6 +26,9 @@ func (db *DB) GetSymbolHistory(ctx context.Context, packagePath, modulePath stri
defer derrors.Wrap(&err, "GetSymbolHistory(ctx, %q, %q)", packagePath, modulePath)
defer middleware.ElapsedStat(ctx, "GetSymbolHistory")()
+ if modulePath == stdlib.ModulePath {
+ return GetSymbolHistoryFromTable(ctx, db.db, packagePath, modulePath)
+ }
if experiment.IsActive(ctx, internal.ExperimentReadSymbolHistory) {
return GetSymbolHistoryFromTable(ctx, db.db, packagePath, modulePath)
}
diff --git a/internal/postgres/unit.go b/internal/postgres/unit.go
index 9e431ff6..ea106f26 100644
--- a/internal/postgres/unit.go
+++ b/internal/postgres/unit.go
@@ -512,19 +512,24 @@ func (db *DB) getUnitWithAllFields(ctx context.Context, um *internal.UnitMeta, b
u.Subdirectories = pkgs
u.UnitMeta = *um
- if !experiment.IsActive(ctx, internal.ExperimentSymbolHistoryMainPage) {
- return &u, nil
- }
if um.IsPackage() && doc.Source != nil {
- if experiment.IsActive(ctx, internal.ExperimentReadSymbolHistory) {
+ if um.ModulePath == stdlib.ModulePath {
u.SymbolHistory, err = getSymbolHistoryForBuildContext(ctx, db.db, pathID, um.ModulePath, bcMatched)
if err != nil {
return nil, err
}
+ }
+ if !experiment.IsActive(ctx, internal.ExperimentSymbolHistoryMainPage) {
+ return &u, nil
+ }
+ if experiment.IsActive(ctx, internal.ExperimentReadSymbolHistory) {
+ u.SymbolHistory, err = getSymbolHistoryForBuildContext(ctx, db.db, pathID, um.ModulePath, bcMatched)
+ if err != nil {
+ return nil, err
+ }
return &u, nil
}
-
versionToNameToUnitSymbol, err := LegacyGetSymbolHistoryWithPackageSymbols(ctx, db.db, um.Path,
um.ModulePath)
if err != nil {
diff --git a/internal/postgres/unit_test.go b/internal/postgres/unit_test.go
index 40fc7be7..2cf110e1 100644
--- a/internal/postgres/unit_test.go
+++ b/internal/postgres/unit_test.go
@@ -77,6 +77,7 @@ func testGetUnitMeta(t *testing.T, ctx context.Context) {
t.Fatal(err)
}
opts := []cmp.Option{
+ cmpopts.EquateEmpty(),
cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage", "OldCoverage"),
cmpopts.IgnoreFields(internal.UnitMeta{}, "HasGoMod"),
cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
@@ -353,6 +354,7 @@ func TestGetUnitMetaBypass(t *testing.T) {
t.Fatal(err)
}
opts := []cmp.Option{
+ cmpopts.EquateEmpty(),
cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage", "OldCoverage"),
cmpopts.IgnoreFields(internal.UnitMeta{}, "HasGoMod"),
cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
@@ -760,6 +762,7 @@ func checkUnit(ctx context.Context, t *testing.T, db *DB, um *internal.UnitMeta,
want.SourceInfo = um.SourceInfo
want.NumImports = len(want.Imports)
opts = append(opts,
+ cmpopts.EquateEmpty(),
cmpopts.IgnoreFields(internal.Unit{}, "Imports", "LicenseContents"),
)
if diff := cmp.Diff(want, got, opts...); diff != "" {
@@ -858,6 +861,7 @@ func TestGetUnitFieldSet(t *testing.T) {
}
opts := []cmp.Option{
cmp.AllowUnexported(source.Info{}, safehtml.HTML{}),
+ cmpopts.EquateEmpty(),
// The packages table only includes partial license information; it omits the Coverage field.
cmpopts.IgnoreFields(licenses.Metadata{}, "Coverage", "OldCoverage"),
}