From 39a4827fab9e1281981d54d764ed28bd2b43591a Mon Sep 17 00:00:00 2001 From: lysu Date: Thu, 22 Jul 2021 15:12:13 +0800 Subject: [PATCH] tables: avoid delete the primary index when deleting clustered table row (#26459) --- table/tables/tables.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/table/tables/tables.go b/table/tables/tables.go index 708f1b942b..471c31d5c0 100644 --- a/table/tables/tables.go +++ b/table/tables/tables.go @@ -1194,6 +1194,9 @@ func (t *TableCommon) removeRowIndices(ctx sessionctx.Context, h kv.Handle, rec return err } for _, v := range t.deletableIndices() { + if v.Meta().Primary && (t.Meta().IsCommonHandle || t.Meta().PKIsHandle) { + continue + } vals, err := v.FetchValues(rec, nil) if err != nil { logutil.BgLogger().Info("remove row index failed", zap.Any("index", v.Meta()), zap.Uint64("txnStartTS", txn.StartTS()), zap.String("handle", h.String()), zap.Any("record", rec), zap.Error(err))