diff options
| author | Julie Qiu <julie@golang.org> | 2021-08-12 11:06:03 -0400 |
|---|---|---|
| committer | Julie Qiu <julie@golang.org> | 2021-08-13 14:39:40 +0000 |
| commit | 8d68f29196eb82c1934c77a10ea3d80d6b0b44c2 (patch) | |
| tree | 00258e7e214d404c844d915a623248269b4307fa /internal/postgres | |
| parent | 9fbc345bc1d5060c60a92768e295bdec804ed428 (diff) | |
| download | go-x-pkgsite-8d68f29196eb82c1934c77a10ea3d80d6b0b44c2.tar.xz | |
internal/postgres/symbolsearch: add SearchType.String
SearchType.String is added to provide a human readable name for the
search type in error messages and stats.
For golang/go#44142
Change-Id: I1f23de03d046a5361fb3a58471e0169a25365485
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/341669
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
Diffstat (limited to 'internal/postgres')
| -rw-r--r-- | internal/postgres/symbolsearch.go | 12 | ||||
| -rw-r--r-- | internal/postgres/symbolsearch/type.go | 17 |
2 files changed, 23 insertions, 6 deletions
diff --git a/internal/postgres/symbolsearch.go b/internal/postgres/symbolsearch.go index 45a096f8..5165d943 100644 --- a/internal/postgres/symbolsearch.go +++ b/internal/postgres/symbolsearch.go @@ -283,8 +283,8 @@ func runSymbolSearchOneDot(ctx context.Context, ddb *database.DB, q string, limi func runSymbolSearch(ctx context.Context, ddb *database.DB, st symbolsearch.SearchType, q string, limit int, args ...interface{}) (_ []*SearchResult, err error) { - defer derrors.Wrap(&err, "runSymbolSearch(ctx, ddb, query, %q, %d)", q, limit) - defer middleware.ElapsedStat(ctx, "runSymbolSearch")() + defer derrors.Wrap(&err, "runSymbolSearch(ctx, ddb, %q, %q, %d, %v)", st, q, limit, args) + defer middleware.ElapsedStat(ctx, fmt.Sprintf("%s-runSymbolSearch", st))() ids, err := fetchMatchingSymbolIDs(ctx, ddb, st, q) if err != nil { @@ -301,8 +301,8 @@ func runSymbolSearch(ctx context.Context, ddb *database.DB, // symbolsearch.MatchingSymbolIDsQuery. The ids returned will be used by in // runSymbolSearch. func fetchMatchingSymbolIDs(ctx context.Context, ddb *database.DB, st symbolsearch.SearchType, q string) (_ []int, err error) { - defer derrors.Wrap(&err, "fetchMatchingSymbolIDs(ctx, ddb, %d, %q)", st, q) - defer middleware.ElapsedStat(ctx, "fetchMatchingSymbolIDs")() + defer derrors.Wrap(&err, "fetchMatchingSymbolIDs(ctx, ddb, %q, %q)", st, q) + defer middleware.ElapsedStat(ctx, fmt.Sprintf("%s-fetchMatchingSymbolIDs", st))() var ids []int collect := func(rows *sql.Rows) error { @@ -327,8 +327,8 @@ func fetchMatchingSymbolIDs(ctx context.Context, ddb *database.DB, st symbolsear // symbolsearch.SearchType and args. func fetchSymbolSearchResults(ctx context.Context, ddb *database.DB, st symbolsearch.SearchType, ids []int, limit int, args ...interface{}) (results []*SearchResult, err error) { - defer derrors.Wrap(&err, "fetchSymbolSearchResults(ctx, ddb, st: %d, ids: %v, limit: %d, args: %v)", st, ids, limit, args) - defer middleware.ElapsedStat(ctx, "fetchSymbolSearchResults")() + defer derrors.Wrap(&err, "fetchSymbolSearchResults(ctx, ddb, %q, ids: %v, limit: %d, args: %v)", st.String(), ids, limit, args) + defer middleware.ElapsedStat(ctx, fmt.Sprintf("%s-fetchSymbolSearchResults", st))() collect := func(rows *sql.Rows) error { var r SearchResult diff --git a/internal/postgres/symbolsearch/type.go b/internal/postgres/symbolsearch/type.go index 2f8c8be8..3c754861 100644 --- a/internal/postgres/symbolsearch/type.go +++ b/internal/postgres/symbolsearch/type.go @@ -95,3 +95,20 @@ const ( // and the results are combined. SearchTypeMultiWordExact ) + +// String returns the name of the search type as a string. +func (st SearchType) String() string { + switch st { + case SearchTypeSymbol: + return "SearchTypeSymbol" + case SearchTypePackageDotSymbol: + return "SearchTypePackageDotSymbol" + case SearchTypeMultiWordOr: + return "SearchTypeMultiWordOr" + case SearchTypeMultiWordExact: + return "SearchTypeMultiWordExact" + default: + // This should never happen. + return "?unknown?" + } +} |
