From 4cb399edc80d1efe67fe238b8af204eded270470 Mon Sep 17 00:00:00 2001 From: Ti Chi Robot Date: Fri, 25 Aug 2023 13:51:35 +0800 Subject: [PATCH] lightning: save NEXT_GLOBAL_ROW_ID as uint64 instead of int64 (#45614) (#45940) close pingcap/tidb#45427 --- br/pkg/lightning/backend/tidb/tidb.go | 6 +++--- br/pkg/lightning/backend/tidb/tidb_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/br/pkg/lightning/backend/tidb/tidb.go b/br/pkg/lightning/backend/tidb/tidb.go index 0b89827f43f5d..774191d48431d 100644 --- a/br/pkg/lightning/backend/tidb/tidb.go +++ b/br/pkg/lightning/backend/tidb/tidb.go @@ -782,7 +782,7 @@ func (*Writer) IsSynced() bool { // TableAutoIDInfo is the auto id information of a table. type TableAutoIDInfo struct { Column string - NextID int64 + NextID uint64 Type string } @@ -796,7 +796,7 @@ func FetchTableAutoIDInfos(ctx context.Context, exec utils.QueryExecutor, tableN for rows.Next() { var ( dbName, tblName, columnName, idType string - nextID int64 + nextID uint64 ) columns, err := rows.Columns() if err != nil { @@ -809,7 +809,7 @@ func FetchTableAutoIDInfos(ctx context.Context, exec utils.QueryExecutor, tableN //| testsysbench | t | _tidb_rowid | 1 | AUTO_INCREMENT | //+--------------+------------+-------------+--------------------+----------------+ - // if columns length is 4, it doesn't contains the last column `ID_TYPE`, and it will always be 'AUTO_INCREMENT' + // if columns length is 4, it doesn't contain the last column `ID_TYPE`, and it will always be 'AUTO_INCREMENT' // for v4.0.0~v4.0.2 show table t next_row_id only returns 4 columns. if len(columns) == 4 { err = rows.Scan(&dbName, &tblName, &columnName, &nextID) diff --git a/br/pkg/lightning/backend/tidb/tidb_test.go b/br/pkg/lightning/backend/tidb/tidb_test.go index d2ee7df00b278..fb6710163f939 100644 --- a/br/pkg/lightning/backend/tidb/tidb_test.go +++ b/br/pkg/lightning/backend/tidb/tidb_test.go @@ -328,7 +328,7 @@ func TestFetchRemoteTableModels_4_0(t *testing.T) { AddRow("t", "id", "bigint(20) unsigned", "", "auto_increment")) s.mockDB.ExpectQuery("SHOW TABLE `test`.`t` NEXT_ROW_ID"). WillReturnRows(sqlmock.NewRows([]string{"DB_NAME", "TABLE_NAME", "COLUMN_NAME", "NEXT_GLOBAL_ROW_ID"}). - AddRow("test", "t", "id", int64(1))) + AddRow("test", "t", "id", "10942694589135710585")) s.mockDB.ExpectCommit() targetInfoGetter := tidb.NewTargetInfoGetter(s.dbHandle)