MCPcopy
hub / github.com/pingcap/tidb / TestPITRIDMapOnStorage

Function TestPITRIDMapOnStorage

br/pkg/restore/log_client/client_test.go:1483–1535  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1481}
1482
1483func TestPITRIDMapOnStorage(t *testing.T) {
1484 ctx := context.Background()
1485 s := utiltest.CreateRestoreSchemaSuite(t)
1486 tk := testkit.NewTestKit(t, s.Mock.Storage)
1487 tk.MustExec("DROP TABLE IF EXISTS mysql.tidb_pitr_id_map")
1488 g := gluetidb.New()
1489 se, err := g.CreateSession(s.Mock.Storage)
1490 require.NoError(t, err)
1491 client := logclient.TEST_NewLogClient(123, 1, 2, 3, s.Mock.Domain, se)
1492 backend, err := storage.ParseBackend("local://"+filepath.ToSlash(t.TempDir()), nil)
1493 require.NoError(t, err)
1494 err = client.SetStorage(ctx, backend, nil)
1495 require.NoError(t, err)
1496 baseTableMappingManager := &stream.TableMappingManager{
1497 DBReplaceMap: getDBMap(),
1498 }
1499 err = client.TEST_saveIDMap(ctx, baseTableMappingManager, nil)
1500 require.NoError(t, err)
1501 newSchemaReplaces, err := client.TEST_initSchemasMap(ctx, 1, nil)
1502 require.NoError(t, err)
1503 require.Nil(t, newSchemaReplaces)
1504 client2 := logclient.TEST_NewLogClient(123, 1, 2, 4, s.Mock.Domain, se)
1505 backend2, err := storage.ParseBackend("local://"+filepath.ToSlash(t.TempDir()+"/temp_another"), nil)
1506 require.NoError(t, err)
1507 err = client2.SetStorage(ctx, backend2, nil)
1508 require.NoError(t, err)
1509 newSchemaReplaces, err = client2.TEST_initSchemasMap(ctx, 2, nil)
1510 require.NoError(t, err)
1511 require.Nil(t, newSchemaReplaces)
1512 newSchemaReplaces, err = client.TEST_initSchemasMap(ctx, 2, nil)
1513 require.NoError(t, err)
1514
1515 require.Equal(t, len(baseTableMappingManager.DBReplaceMap), len(newSchemaReplaces))
1516 for _, dbMap := range newSchemaReplaces {
1517 baseDbMap := baseTableMappingManager.DBReplaceMap[dbMap.IdMap.UpstreamId]
1518 require.NotNil(t, baseDbMap)
1519 require.Equal(t, baseDbMap.DbID, dbMap.IdMap.DownstreamId)
1520 require.Equal(t, baseDbMap.Name, dbMap.Name)
1521 require.Equal(t, len(baseDbMap.TableMap), len(dbMap.Tables))
1522 for _, tableMap := range dbMap.Tables {
1523 baseTableMap := baseDbMap.TableMap[tableMap.IdMap.UpstreamId]
1524 require.NotNil(t, baseTableMap)
1525 require.Equal(t, baseTableMap.TableID, tableMap.IdMap.DownstreamId)
1526 require.Equal(t, baseTableMap.Name, tableMap.Name)
1527 require.Equal(t, len(baseTableMap.PartitionMap), len(tableMap.Partitions))
1528 for _, partitionMap := range tableMap.Partitions {
1529 basePartitionMap, exist := baseTableMap.PartitionMap[partitionMap.UpstreamId]
1530 require.True(t, exist)
1531 require.Equal(t, basePartitionMap, partitionMap.DownstreamId)
1532 }
1533 }
1534 }
1535}
1536
1537func TestPITRIDMapOnCheckpointStorage(t *testing.T) {
1538 ctx := context.Background()

Callers

nothing calls this directly

Calls 12

MustExecMethod · 0.95
CreateRestoreSchemaSuiteFunction · 0.92
NewTestKitFunction · 0.92
NewFunction · 0.92
ParseBackendFunction · 0.92
getDBMapFunction · 0.85
TEST_saveIDMapMethod · 0.80
TEST_initSchemasMapMethod · 0.80
NotNilMethod · 0.80
CreateSessionMethod · 0.65
EqualMethod · 0.65
SetStorageMethod · 0.45

Tested by

no test coverage detected