Skip to content

Commit c5d3a26

Browse files
authored
storage: Add keyspace_id to DT system tables (pingcap#210)
Signed-off-by: Wish <[email protected]>
1 parent 3a36ae4 commit c5d3a26

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

dbms/src/Storages/System/StorageSystemDTSegments.cpp

+12-2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
#include <Columns/ColumnString.h>
1616
#include <DataStreams/OneBlockInputStream.h>
17+
#include <DataTypes/DataTypeNullable.h>
1718
#include <DataTypes/DataTypeString.h>
1819
#include <DataTypes/DataTypesNumber.h>
1920
#include <Databases/DatabaseTiFlash.h>
@@ -37,6 +38,7 @@ StorageSystemDTSegments::StorageSystemDTSegments(const std::string & name_)
3738

3839
{"tidb_database", std::make_shared<DataTypeString>()},
3940
{"tidb_table", std::make_shared<DataTypeString>()},
41+
{"keyspace_id", std::make_shared<DataTypeNullable>(std::make_shared<DataTypeUInt64>())},
4042
{"table_id", std::make_shared<DataTypeInt64>()},
4143
{"is_tombstone", std::make_shared<DataTypeUInt64>()},
4244

@@ -115,11 +117,19 @@ BlockInputStreams StorageSystemDTSegments::read(
115117
res_columns[j++]->insert(table_name);
116118

117119
String tidb_db_name;
120+
KeyspaceID keyspace_id = NullspaceID;
118121
if (db_tiflash)
119-
tidb_db_name = mapper.displayDatabaseName(db_tiflash->getDatabaseInfo());
122+
{
123+
tidb_db_name = db_tiflash->getDatabaseInfo().name;
124+
keyspace_id = db_tiflash->getDatabaseInfo().keyspace_id;
125+
}
120126
res_columns[j++]->insert(tidb_db_name);
121-
String tidb_table_name = mapper.displayTableName(table_info);
127+
String tidb_table_name = table_info.name;
122128
res_columns[j++]->insert(tidb_table_name);
129+
if (keyspace_id == NullspaceID)
130+
res_columns[j++]->insert(Field());
131+
else
132+
res_columns[j++]->insert(static_cast<UInt64>(keyspace_id));
123133
res_columns[j++]->insert(table_id);
124134
res_columns[j++]->insert(dm_storage->getTombstone());
125135

dbms/src/Storages/System/StorageSystemDTTables.cpp

+13-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@
1414

1515
#include <Columns/ColumnString.h>
1616
#include <DataStreams/OneBlockInputStream.h>
17+
#include <DataTypes/DataTypeNullable.h>
1718
#include <DataTypes/DataTypeString.h>
1819
#include <DataTypes/DataTypesNumber.h>
1920
#include <Databases/DatabaseTiFlash.h>
2021
#include <Databases/IDatabase.h>
2122
#include <Interpreters/Context.h>
2223
#include <Storages/DeltaMerge/DeltaMergeStore.h>
24+
#include <Storages/KVStore/Types.h>
2325
#include <Storages/MutableSupport.h>
2426
#include <Storages/StorageDeltaMerge.h>
2527
#include <Storages/System/StorageSystemDTTables.h>
@@ -37,6 +39,7 @@ StorageSystemDTTables::StorageSystemDTTables(const std::string & name_)
3739

3840
{"tidb_database", std::make_shared<DataTypeString>()},
3941
{"tidb_table", std::make_shared<DataTypeString>()},
42+
{"keyspace_id", std::make_shared<DataTypeNullable>(std::make_shared<DataTypeUInt64>())},
4043
{"table_id", std::make_shared<DataTypeInt64>()},
4144
{"is_tombstone", std::make_shared<DataTypeUInt64>()},
4245

@@ -146,11 +149,19 @@ BlockInputStreams StorageSystemDTTables::read(
146149
res_columns[j++]->insert(table_name);
147150

148151
String tidb_db_name;
152+
KeyspaceID keyspace_id = NullspaceID;
149153
if (db_tiflash)
150-
tidb_db_name = mapper.displayDatabaseName(db_tiflash->getDatabaseInfo());
154+
{
155+
tidb_db_name = db_tiflash->getDatabaseInfo().name;
156+
keyspace_id = db_tiflash->getDatabaseInfo().keyspace_id;
157+
}
151158
res_columns[j++]->insert(tidb_db_name);
152-
String tidb_table_name = mapper.displayTableName(table_info);
159+
String tidb_table_name = table_info.name;
153160
res_columns[j++]->insert(tidb_table_name);
161+
if (keyspace_id == NullspaceID)
162+
res_columns[j++]->insert(Field());
163+
else
164+
res_columns[j++]->insert(static_cast<UInt64>(keyspace_id));
154165
res_columns[j++]->insert(table_id);
155166
res_columns[j++]->insert(dm_storage->getTombstone());
156167

0 commit comments

Comments
 (0)