[gold] Remove options from Params table

Bug: skia:10582
Change-Id: Ica1b865772fcc4f75479d3cccfd9f8faccf957d4
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/431383
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/golden/go/ingestion_processors/primarysql.go b/golden/go/ingestion_processors/primarysql.go
index 44b2928..cfc706c 100644
--- a/golden/go/ingestion_processors/primarysql.go
+++ b/golden/go/ingestion_processors/primarysql.go
@@ -343,7 +343,8 @@
 		paramset.AddParams(keys)
 
 		_, optionsID := sql.SerializeMap(options)
-		paramset.AddParams(options)
+		// We explicitly do not add options to paramset, but may store them to a different
+		// table in the future.
 
 		grouping := groupingFor(keys)
 		_, groupingID := sql.SerializeMap(grouping)
diff --git a/golden/go/ingestion_processors/primarysql_test.go b/golden/go/ingestion_processors/primarysql_test.go
index 79e8151..c17406d 100644
--- a/golden/go/ingestion_processors/primarysql_test.go
+++ b/golden/go/ingestion_processors/primarysql_test.go
@@ -223,7 +223,6 @@
 	assert.Equal(t, []schema.PrimaryBranchParamRow{
 		{Key: dks.ColorModeKey, Value: dks.RGBColorMode, TileID: 0},
 		{Key: dks.DeviceKey, Value: dks.QuadroDevice, TileID: 0},
-		{Key: "ext", Value: "png", TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.CircleTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.TriangleTest, TileID: 0},
@@ -445,7 +444,6 @@
 	assert.Equal(t, []schema.PrimaryBranchParamRow{
 		{Key: dks.ColorModeKey, Value: dks.RGBColorMode, TileID: 0},
 		{Key: dks.DeviceKey, Value: dks.QuadroDevice, TileID: 0},
-		{Key: "ext", Value: "png", TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.CircleTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.TriangleTest, TileID: 0},
@@ -507,12 +505,6 @@
 
 	actualPrimaryBranchParams := sqltest.GetAllRows(ctx, t, db, "PrimaryBranchParams", &schema.PrimaryBranchParamRow{}).([]schema.PrimaryBranchParamRow)
 	assert.ElementsMatch(t, []schema.PrimaryBranchParamRow{
-		{Key: "ext", Value: "png", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 1},
-		{Key: "fuzzy_ignored_border_thickness", Value: "0", TileID: 1},
-		{Key: "fuzzy_max_different_pixels", Value: "10", TileID: 1},
-		{Key: "fuzzy_pixel_delta_threshold", Value: "20", TileID: 1},
-		{Key: "image_matching_algorithm", Value: "fuzzy", TileID: 1},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 1},
 		{Key: dks.OSKey, Value: dks.AndroidOS, TileID: 0},
@@ -614,13 +606,6 @@
 
 	actualPrimaryBranchParams := sqltest.GetAllRows(ctx, t, db, "PrimaryBranchParams", &schema.PrimaryBranchParamRow{}).([]schema.PrimaryBranchParamRow)
 	assert.ElementsMatch(t, []schema.PrimaryBranchParamRow{
-		{Key: "ext", Value: "png", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 1},
-		{Key: "ext", Value: "png", TileID: 2},
-		{Key: "fuzzy_ignored_border_thickness", Value: "0", TileID: 2},
-		{Key: "fuzzy_max_different_pixels", Value: "10", TileID: 2},
-		{Key: "fuzzy_pixel_delta_threshold", Value: "20", TileID: 2},
-		{Key: "image_matching_algorithm", Value: "fuzzy", TileID: 2},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 1},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 2},
@@ -723,8 +708,6 @@
 
 	actualPrimaryBranchParams := sqltest.GetAllRows(ctx, t, db, "PrimaryBranchParams", &schema.PrimaryBranchParamRow{}).([]schema.PrimaryBranchParamRow)
 	assert.ElementsMatch(t, []schema.PrimaryBranchParamRow{
-		{Key: "ext", Value: "png", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 1},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 1},
 		{Key: dks.OSKey, Value: dks.AndroidOS, TileID: 0},
@@ -776,8 +759,6 @@
 
 	actualPrimaryBranchParams := sqltest.GetAllRows(ctx, t, db, "PrimaryBranchParams", &schema.PrimaryBranchParamRow{}).([]schema.PrimaryBranchParamRow)
 	assert.ElementsMatch(t, []schema.PrimaryBranchParamRow{
-		{Key: "ext", Value: "png", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 1},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 1},
 		{Key: dks.OSKey, Value: dks.AndroidOS, TileID: 0},
@@ -828,8 +809,6 @@
 
 	actualPrimaryBranchParams := sqltest.GetAllRows(ctx, t, db, "PrimaryBranchParams", &schema.PrimaryBranchParamRow{}).([]schema.PrimaryBranchParamRow)
 	assert.ElementsMatch(t, []schema.PrimaryBranchParamRow{
-		{Key: "ext", Value: "png", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 1},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 0},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, TileID: 1},
 		{Key: dks.OSKey, Value: dks.AndroidOS, TileID: 0},
diff --git a/golden/go/ingestion_processors/tryjob_ingestion.go b/golden/go/ingestion_processors/tryjob_ingestion.go
index 69468d0..02b76c5 100644
--- a/golden/go/ingestion_processors/tryjob_ingestion.go
+++ b/golden/go/ingestion_processors/tryjob_ingestion.go
@@ -532,7 +532,8 @@
 		paramset.AddParams(keys)
 
 		_, optionsID := sql.SerializeMap(options)
-		paramset.AddParams(options)
+		// We explicitly do not add options to paramset, but may store them to a different
+		// table in the future.
 
 		grouping := groupingFor(keys)
 		_, groupingID := sql.SerializeMap(grouping)
diff --git a/golden/go/ingestion_processors/tryjob_ingestion_test.go b/golden/go/ingestion_processors/tryjob_ingestion_test.go
index 6c8d99c..c4eb8b5 100644
--- a/golden/go/ingestion_processors/tryjob_ingestion_test.go
+++ b/golden/go/ingestion_processors/tryjob_ingestion_test.go
@@ -273,7 +273,6 @@
 	assert.Equal(t, []schema.SecondaryBranchParamRow{
 		{Key: dks.ColorModeKey, Value: dks.RGBColorMode, BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: dks.DeviceKey, Value: dks.IPhoneDevice, BranchName: qualifiedCL, VersionName: qualifiedPS},
-		{Key: "ext", Value: "png", BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: types.PrimaryKeyField, Value: dks.CircleTest, BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: types.PrimaryKeyField, Value: dks.TriangleTest, BranchName: qualifiedCL, VersionName: qualifiedPS},
@@ -633,7 +632,6 @@
 	assert.Equal(t, []schema.SecondaryBranchParamRow{
 		{Key: dks.ColorModeKey, Value: dks.RGBColorMode, BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: dks.DeviceKey, Value: dks.IPhoneDevice, BranchName: qualifiedCL, VersionName: qualifiedPS},
-		{Key: "ext", Value: "png", BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: types.PrimaryKeyField, Value: dks.CircleTest, BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: types.PrimaryKeyField, Value: dks.SquareTest, BranchName: qualifiedCL, VersionName: qualifiedPS},
 		{Key: types.PrimaryKeyField, Value: dks.TriangleTest, BranchName: qualifiedCL, VersionName: qualifiedPS},
diff --git a/golden/go/search2/search2.go b/golden/go/search2/search2.go
index 45dae0d..b55bed8 100644
--- a/golden/go/search2/search2.go
+++ b/golden/go/search2/search2.go
@@ -2324,7 +2324,7 @@
 	ctx, span := trace.StartSpan(ctx, "getPublicParamsetForPrimaryBranch")
 	defer span.End()
 
-	const statement = `SELECT trace_id, keys, options_id FROM ValuesAtHead WHERE most_recent_commit_id >= $1`
+	const statement = `SELECT trace_id, keys FROM ValuesAtHead WHERE most_recent_commit_id >= $1`
 	rows, err := s.db.Query(ctx, statement, getFirstCommitID(ctx))
 	if err != nil {
 		return nil, skerr.Wrap(err)
@@ -2334,33 +2334,19 @@
 	var ps paramtools.Params
 	var traceID schema.TraceID
 	var traceKey schema.MD5Hash
-	var optionsID schema.OptionsID
-	var optionsKey schema.MD5Hash
-	uniqueOptions := map[schema.MD5Hash]bool{}
 
 	s.mutex.RLock()
 	for rows.Next() {
-		if err := rows.Scan(&traceID, &ps, &optionsID); err != nil {
+		if err := rows.Scan(&traceID, &ps); err != nil {
 			s.mutex.RUnlock()
 			return nil, skerr.Wrap(err)
 		}
 		copy(traceKey[:], traceID)
 		if _, ok := s.publiclyVisibleTraces[traceKey]; ok {
 			combinedParamset.AddParams(ps)
-			copy(optionsKey[:], optionsID)
-			uniqueOptions[optionsKey] = true
 		}
 	}
 	s.mutex.RUnlock()
-	rows.Close()
-	for optID := range uniqueOptions {
-		opts, err := s.expandOptionsToParams(ctx, optID[:])
-		if err != nil {
-			return nil, skerr.Wrap(err)
-		}
-		combinedParamset.AddParams(opts)
-	}
-
 	combinedParamset.Normalize()
 	return paramtools.ReadOnlyParamSet(combinedParamset), nil
 }
@@ -2412,7 +2398,7 @@
 	ctx, span := trace.StartSpan(ctx, "getPublicParamsetForCL")
 	defer span.End()
 
-	const statement = `SELECT secondary_branch_trace_id, options_id FROM SecondaryBranchValues
+	const statement = `SELECT secondary_branch_trace_id FROM SecondaryBranchValues
 WHERE branch_name = $1
 `
 	rows, err := s.db.Query(ctx, statement, qualifiedCLID)
@@ -2422,34 +2408,22 @@
 	defer rows.Close()
 	var traceID schema.TraceID
 	var traceKey schema.MD5Hash
-	var optionsID schema.OptionsID
-	var optionsKey schema.MD5Hash
-	uniqueOptions := map[schema.MD5Hash]bool{}
 	var traceIDsToExpand []schema.TraceID
 	s.mutex.RLock()
 	for rows.Next() {
-		if err := rows.Scan(&traceID, &optionsID); err != nil {
+		if err := rows.Scan(&traceID); err != nil {
 			s.mutex.RUnlock()
 			return nil, skerr.Wrap(err)
 		}
 		copy(traceKey[:], traceID)
 		if _, ok := s.publiclyVisibleTraces[traceKey]; ok {
 			traceIDsToExpand = append(traceIDsToExpand, traceID)
-			copy(optionsKey[:], optionsID)
-			uniqueOptions[optionsKey] = true
 		}
 	}
 	s.mutex.RUnlock()
 	rows.Close()
 
 	combinedParamset := paramtools.ParamSet{}
-	for optID := range uniqueOptions {
-		opts, err := s.expandOptionsToParams(ctx, optID[:])
-		if err != nil {
-			return nil, skerr.Wrap(err)
-		}
-		combinedParamset.AddParams(opts)
-	}
 	for _, traceID := range traceIDsToExpand {
 		ps, err := s.expandTraceToParams(ctx, traceID)
 		if err != nil {
@@ -3560,6 +3534,9 @@
 
 	arguments := []interface{}{s.windowLength}
 	arguments = append(arguments, digestsArgs...)
+	sklog.Infof("query: %#v", q)
+	sklog.Infof("statement: %s", statement)
+	sklog.Infof("arguments: %s", arguments)
 	rows, err := s.db.Query(ctx, statement, arguments...)
 	if err != nil {
 		return frontend.ListTestsResponse{}, skerr.Wrap(err)
diff --git a/golden/go/search2/search2_test.go b/golden/go/search2/search2_test.go
index c93b35e..eab66fd 100644
--- a/golden/go/search2/search2_test.go
+++ b/golden/go/search2/search2_test.go
@@ -3501,14 +3501,11 @@
 	ps, err := s.GetPrimaryBranchParamset(ctx)
 	require.NoError(t, err)
 	assert.Equal(t, paramtools.ReadOnlyParamSet{
-		dks.ColorModeKey:             []string{dks.GreyColorMode, dks.RGBColorMode},
-		dks.DeviceKey:                []string{dks.QuadroDevice, dks.IPadDevice, dks.IPhoneDevice, dks.TaimenDevice, dks.WalleyeDevice},
-		types.PrimaryKeyField:        []string{dks.CircleTest, dks.SquareTest, dks.TriangleTest},
-		dks.OSKey:                    []string{dks.AndroidOS, dks.Windows10dot2OS, dks.Windows10dot3OS, dks.IOS},
-		types.CorpusField:            []string{dks.CornersCorpus, dks.RoundCorpus},
-		"ext":                        []string{"png"},
-		"fuzzy_max_different_pixels": []string{"2"},
-		"image_matching_algorithm":   []string{"fuzzy"},
+		dks.ColorModeKey:      []string{dks.GreyColorMode, dks.RGBColorMode},
+		dks.DeviceKey:         []string{dks.QuadroDevice, dks.IPadDevice, dks.IPhoneDevice, dks.TaimenDevice, dks.WalleyeDevice},
+		types.PrimaryKeyField: []string{dks.CircleTest, dks.SquareTest, dks.TriangleTest},
+		dks.OSKey:             []string{dks.AndroidOS, dks.Windows10dot2OS, dks.Windows10dot3OS, dks.IOS},
+		types.CorpusField:     []string{dks.CornersCorpus, dks.RoundCorpus},
 	}, ps)
 }
 
@@ -3537,14 +3534,11 @@
 	ps, err := s.GetPrimaryBranchParamset(ctx)
 	require.NoError(t, err)
 	assert.Equal(t, paramtools.ReadOnlyParamSet{
-		dks.ColorModeKey:             []string{dks.GreyColorMode, dks.RGBColorMode},
-		dks.DeviceKey:                []string{dks.IPadDevice, dks.IPhoneDevice, dks.WalleyeDevice},
-		types.PrimaryKeyField:        []string{dks.CircleTest, dks.SquareTest, dks.TriangleTest},
-		dks.OSKey:                    []string{dks.AndroidOS, dks.IOS},
-		types.CorpusField:            []string{dks.CornersCorpus, dks.RoundCorpus},
-		"ext":                        []string{"png"},
-		"fuzzy_max_different_pixels": []string{"2"},
-		"image_matching_algorithm":   []string{"fuzzy"},
+		dks.ColorModeKey:      []string{dks.GreyColorMode, dks.RGBColorMode},
+		dks.DeviceKey:         []string{dks.IPadDevice, dks.IPhoneDevice, dks.WalleyeDevice},
+		types.PrimaryKeyField: []string{dks.CircleTest, dks.SquareTest, dks.TriangleTest},
+		dks.OSKey:             []string{dks.AndroidOS, dks.IOS},
+		types.CorpusField:     []string{dks.CornersCorpus, dks.RoundCorpus},
 	}, ps)
 }
 
@@ -3564,20 +3558,16 @@
 		types.PrimaryKeyField: []string{dks.CircleTest, dks.SquareTest, dks.TriangleTest},
 		dks.OSKey:             []string{dks.AndroidOS, dks.IOS},
 		types.CorpusField:     []string{dks.CornersCorpus, dks.RoundCorpus},
-		"ext":                 []string{"png"},
 	}, ps)
 
 	ps, err = s.GetChangelistParamset(ctx, dks.GerritInternalCRS, dks.ChangelistIDThatAddsNewTests)
 	require.NoError(t, err)
 	assert.Equal(t, paramtools.ReadOnlyParamSet{
-		dks.ColorModeKey:             []string{dks.GreyColorMode, dks.RGBColorMode},
-		dks.DeviceKey:                []string{dks.QuadroDevice, dks.WalleyeDevice},
-		types.PrimaryKeyField:        []string{dks.CircleTest, dks.RoundRectTest, dks.SevenTest, dks.SquareTest, dks.TriangleTest},
-		dks.OSKey:                    []string{dks.AndroidOS, dks.Windows10dot3OS},
-		types.CorpusField:            []string{dks.CornersCorpus, dks.RoundCorpus, dks.TextCorpus},
-		"ext":                        []string{"png"},
-		"fuzzy_max_different_pixels": []string{"2"},
-		"image_matching_algorithm":   []string{"fuzzy"},
+		dks.ColorModeKey:      []string{dks.GreyColorMode, dks.RGBColorMode},
+		dks.DeviceKey:         []string{dks.QuadroDevice, dks.WalleyeDevice},
+		types.PrimaryKeyField: []string{dks.CircleTest, dks.RoundRectTest, dks.SevenTest, dks.SquareTest, dks.TriangleTest},
+		dks.OSKey:             []string{dks.AndroidOS, dks.Windows10dot3OS},
+		types.CorpusField:     []string{dks.CornersCorpus, dks.RoundCorpus, dks.TextCorpus},
 	}, ps)
 }
 
@@ -3625,20 +3615,16 @@
 		types.PrimaryKeyField: []string{dks.CircleTest, dks.SquareTest, dks.TriangleTest},
 		dks.OSKey:             []string{dks.IOS},
 		types.CorpusField:     []string{dks.CornersCorpus, dks.RoundCorpus},
-		"ext":                 []string{"png"},
 	}, ps)
 
 	ps, err = s.GetChangelistParamset(ctx, dks.GerritInternalCRS, dks.ChangelistIDThatAddsNewTests)
 	require.NoError(t, err)
 	assert.Equal(t, paramtools.ReadOnlyParamSet{
-		dks.ColorModeKey:             []string{dks.GreyColorMode, dks.RGBColorMode},
-		dks.DeviceKey:                []string{dks.WalleyeDevice},
-		types.PrimaryKeyField:        []string{dks.CircleTest, dks.RoundRectTest, dks.SevenTest, dks.SquareTest, dks.TriangleTest},
-		dks.OSKey:                    []string{dks.AndroidOS},
-		types.CorpusField:            []string{dks.CornersCorpus, dks.RoundCorpus, dks.TextCorpus},
-		"ext":                        []string{"png"},
-		"fuzzy_max_different_pixels": []string{"2"},
-		"image_matching_algorithm":   []string{"fuzzy"},
+		dks.ColorModeKey:      []string{dks.GreyColorMode, dks.RGBColorMode},
+		dks.DeviceKey:         []string{dks.WalleyeDevice},
+		types.PrimaryKeyField: []string{dks.CircleTest, dks.RoundRectTest, dks.SevenTest, dks.SquareTest, dks.TriangleTest},
+		dks.OSKey:             []string{dks.AndroidOS},
+		types.CorpusField:     []string{dks.CornersCorpus, dks.RoundCorpus, dks.TextCorpus},
 	}, ps)
 }
 
diff --git a/golden/go/sql/databuilder/databuilder.go b/golden/go/sql/databuilder/databuilder.go
index 5e4c26b..b23339b 100644
--- a/golden/go/sql/databuilder/databuilder.go
+++ b/golden/go/sql/databuilder/databuilder.go
@@ -731,15 +731,6 @@
 			logAndPanic("missing trace id %x", traceID)
 			return nil
 		}
-		findOptions := func(optID schema.OptionsID) paramtools.Params {
-			for _, opt := range builder.options {
-				if bytes.Equal(opt.OptionsID, optID) {
-					return opt.Keys.Copy() // Copy to ensure immutability
-				}
-			}
-			logAndPanic("missing options id %x", optID)
-			return nil
-		}
 		for _, xtv := range builder.traceValues {
 			for _, tv := range xtv {
 				if tv == nil {
@@ -754,14 +745,6 @@
 						Value:  v,
 					}] = true
 				}
-				options := findOptions(tv.OptionsID)
-				for k, v := range options {
-					seenRows[schema.PrimaryBranchParamRow{
-						TileID: tiledID,
-						Key:    k,
-						Value:  v,
-					}] = true
-				}
 			}
 		}
 	}
@@ -790,16 +773,6 @@
 					}] = true
 				}
 			}
-			for _, opt := range ps.options {
-				for k, v := range opt.Keys {
-					seenRows[schema.SecondaryBranchParamRow{
-						BranchName:  ps.patchset.ChangelistID,
-						VersionName: ps.patchset.PatchsetID,
-						Key:         k,
-						Value:       v,
-					}] = true
-				}
-			}
 		}
 	}
 	var rv []schema.SecondaryBranchParamRow
diff --git a/golden/go/sql/databuilder/databuilder_test.go b/golden/go/sql/databuilder/databuilder_test.go
index f32b6a7..bfd2376 100644
--- a/golden/go/sql/databuilder/databuilder_test.go
+++ b/golden/go/sql/databuilder/databuilder_test.go
@@ -423,7 +423,6 @@
 		{Key: "os", Value: "Windows10.7", TileID: 0},
 		{Key: "color_mode", Value: "rgb", TileID: 0},
 		{Key: "source_type", Value: "corpus_one", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 0},
 		// Note there's no Windows 10.7 or NUC1234 key because that hasn't been generated in
 		// the second tile (starting at commit 4).
 		{Key: "name", Value: "test_one", TileID: 1},
@@ -432,7 +431,7 @@
 		{Key: "os", Value: "Android", TileID: 1},
 		{Key: "color_mode", Value: "rgb", TileID: 1},
 		{Key: "source_type", Value: "corpus_one", TileID: 1},
-		{Key: "ext", Value: "png", TileID: 1},
+		// Note that "ext" : "png" is not here because that is an option.
 	}, tables.PrimaryBranchParams)
 	assert.ElementsMatch(t, []schema.ValueAtHeadRow{{
 		TraceID:              h(`{"color_mode":"rgb","device":"Crosshatch","name":"test_one","os":"Android","source_type":"corpus_one"}`),
@@ -642,7 +641,7 @@
 		{Key: "os", Value: "Android", TileID: 0},
 		{Key: "color_mode", Value: "rgb", TileID: 0},
 		{Key: "source_type", Value: "corpus_one", TileID: 0},
-		{Key: "ext", Value: "png", TileID: 0},
+		// No "ext": "png" because that is an option
 	}, tables.PrimaryBranchParams)
 	qualifiedCLID := "gerrit_changelist_one"
 	assert.Equal(t, []schema.ChangelistRow{{
@@ -689,7 +688,6 @@
 		{Key: "os", Value: "Android", BranchName: qualifiedCLID, VersionName: "gerrit_ps_2"},
 		{Key: "color_mode", Value: "rgb", BranchName: qualifiedCLID, VersionName: "gerrit_ps_2"},
 		{Key: "source_type", Value: "corpus_one", BranchName: qualifiedCLID, VersionName: "gerrit_ps_2"},
-		{Key: "ext", Value: "png", BranchName: qualifiedCLID, VersionName: "gerrit_ps_2"},
 
 		{Key: "name", Value: "test_one", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
 		{Key: "name", Value: "test_two", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
@@ -698,9 +696,6 @@
 		{Key: "os", Value: "Android", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
 		{Key: "color_mode", Value: "rgb", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
 		{Key: "source_type", Value: "corpus_one", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
-		{Key: "ext", Value: "png", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
-		{Key: "matcher", Value: "fuzzy", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
-		{Key: "threshold", Value: "2", BranchName: qualifiedCLID, VersionName: "gerrit_ps_3"},
 	}, tables.SecondaryBranchParams)
 	assert.Equal(t, []schema.SecondaryBranchValueRow{{
 		BranchName:   qualifiedCLID,
diff --git a/golden/go/sql/schema/tables.go b/golden/go/sql/schema/tables.go
index accf5f9..46d8fa8 100644
--- a/golden/go/sql/schema/tables.go
+++ b/golden/go/sql/schema/tables.go
@@ -620,8 +620,9 @@
 // of commits. Originally, we had done a join between Traces and TraceValues to find the params
 // where commit_id was in a given range. However, this took several minutes when there were 1M+
 // traces per commit. This table is effectively an index for getting just that data. Note, this
-// contains Keys *and* Options because users can search/filter/query by both of those and this table
-// is used to fill in the UI widgets with the available search options.
+// contains Keys.
+// TODO(kjlubick) Add another table to hold Options, so we can distinguish between the two
+//   and properly search by them.
 type PrimaryBranchParamRow struct {
 	// TileID indicates which tile the given Key and Value were seen on in the primary branch.
 	// This is a foreign key into the Commits table.
diff --git a/golden/go/web/web.go b/golden/go/web/web.go
index 47de23a..29e2439 100644
--- a/golden/go/web/web.go
+++ b/golden/go/web/web.go
@@ -1957,7 +1957,7 @@
 }
 
 func (wh *Handlers) ListTestsHandler2(w http.ResponseWriter, r *http.Request) {
-	ctx, span := trace.StartSpan(r.Context(), "web_ListTestsHandler2")
+	ctx, span := trace.StartSpan(r.Context(), "web_ListTestsHandler2", trace.WithSampler(trace.AlwaysSample()))
 	defer span.End()
 	if err := wh.limitForAnonUsers(r); err != nil {
 		httputils.ReportError(w, err, "Try again later", http.StatusInternalServerError)
@@ -2432,7 +2432,8 @@
 	sendJSONResponse(w, tile.ParamSet)
 }
 
-// ParamsHandler2 returns all Params that could be searched over. It uses the SQL Backend
+// ParamsHandler2 returns all Params that could be searched over. It uses the SQL Backend and
+// returns *only* the keys, not the options.
 func (wh *Handlers) ParamsHandler2(w http.ResponseWriter, r *http.Request) {
 	defer metrics2.FuncTimer().Stop()
 	if err := wh.cheapLimitForAnonUsers(r); err != nil {