From 725e2e69395e18f0468558694bd03f23f395c9ea Mon Sep 17 00:00:00 2001 From: ywqzzy <592838129@qq.com> Date: Mon, 25 Mar 2024 16:38:55 +0800 Subject: [PATCH] fix --- pkg/ddl/column.go | 9 +++++++++ pkg/ddl/index.go | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/ddl/column.go b/pkg/ddl/column.go index 0ce3042037c69..fb97f86a47bbc 100644 --- a/pkg/ddl/column.go +++ b/pkg/ddl/column.go @@ -2049,3 +2049,12 @@ func getChangingColumnOriginName(changingColumn *model.ColumnInfo) string { } return columnName[:pos] } + +func getExpressionIndexOriginName(expressionIdx *model.ColumnInfo) string { + columnName := strings.TrimPrefix(expressionIdx.Name.O, expressionIndexPrefix+"_") + var pos int + if pos = strings.LastIndex(columnName, "_"); pos == -1 { + return columnName + } + return columnName[:pos] +} diff --git a/pkg/ddl/index.go b/pkg/ddl/index.go index 073b91c28d0d7..909c2fd277a9b 100644 --- a/pkg/ddl/index.go +++ b/pkg/ddl/index.go @@ -2568,8 +2568,9 @@ func renameIndexes(tblInfo *model.TableInfo, from, to model.CIStr) { func renameHiddenColumns(tblInfo *model.TableInfo, from, to model.CIStr) { for _, col := range tblInfo.Columns { - if strings.Contains(col.Name.O, fmt.Sprintf("%s_%s", expressionIndexPrefix, from)) { - col.Name = model.NewCIStr(strings.ReplaceAll(col.Name.O, from.O, to.O)) + if getExpressionIndexOriginName(col) == from.O { + col.Name.L = strings.Replace(col.Name.L, from.L, to.L, 1) + col.Name.O = strings.Replace(col.Name.O, from.O, to.O, 1) } } }