From 9c37399a32bd5ed919e7dcd05af796bf18de9205 Mon Sep 17 00:00:00 2001 From: Weizhen Wang Date: Thu, 23 Jan 2025 09:52:56 +0800 Subject: [PATCH] types: avoid slicegrow in the FieldName.String() (#59136) close pingcap/tidb#59135 --- pkg/types/field_name.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/types/field_name.go b/pkg/types/field_name.go index 74f90607a7a13..dcd1fef048de3 100644 --- a/pkg/types/field_name.go +++ b/pkg/types/field_name.go @@ -15,7 +15,7 @@ package types import ( - "strings" + "bytes" "github.com/pingcap/tidb/pkg/parser/ast" "github.com/pingcap/tidb/pkg/util/size" @@ -43,10 +43,11 @@ const emptyName = "EMPTY_NAME" // String implements Stringer interface. func (name *FieldName) String() string { - builder := strings.Builder{} if name.Hidden { return emptyName } + bs := make([]byte, 0, len(name.DBName.L)+1+len(name.TblName.L)+1+len(name.ColName.L)) + builder := bytes.NewBuffer(bs) if name.DBName.L != "" { builder.WriteString(name.DBName.L + ".") }