java-topology/defects/cockroach/patch/cockroach-0002-fingerprint-ignored-columns-quadratic.patch

35 lines
1.2 KiB
Diff

# UNDF: UNDF-2026-000000754
# UNDF:
--- a/pkg/sql/show_fingerprints.go
+++ b/pkg/sql/show_fingerprints.go
@@ -432,13 +432,17 @@ func BuildExperimentalFingerprintQueryForIndex(
tableDesc catalog.TableDescriptor, index catalog.Index, ignoredColumns []string,
) (string, error) {
+ ignored := make(map[string]struct{}, len(ignoredColumns))
+ for _, c := range ignoredColumns {
+ ignored[c] = struct{}{}
+ }
cols := make([]string, 0, len(tableDesc.PublicColumns()))
var numBytesCols int
addColumn := func(col catalog.Column) {
- if slices.Contains(ignoredColumns, col.GetName()) {
+ if _, skip := ignored[col.GetName()]; skip {
return
}
// rest unchanged
@@ -502,12 +506,16 @@ func BuildFingerprintQueryForIndex(
tableDesc catalog.TableDescriptor, index catalog.Index, ignoredColumns []string,
) (string, error) {
+ ignored := make(map[string]struct{}, len(ignoredColumns))
+ for _, c := range ignoredColumns {
+ ignored[c] = struct{}{}
+ }
cols := make([]string, 0, len(tableDesc.PublicColumns()))
addColumn := func(col catalog.Column) {
- if slices.Contains(ignoredColumns, col.GetName()) {
+ if _, skip := ignored[col.GetName()]; skip {
return
}
cols = append(cols, makeColumnNameOrExpr(col))
}