[FEAT MERGE] information_schema enhence
This commit is contained in:
@ -306,12 +306,7 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
11115 __all_virtual_io_quota 2 201001 1
|
||||
11116 __all_virtual_server_compaction_event_history 2 201001 1
|
||||
12001 SESSION_VARIABLES 2 201002 1
|
||||
12002 TABLE_PRIVILEGES 2 201002 1
|
||||
12003 USER_PRIVILEGES 2 201002 1
|
||||
12004 SCHEMA_PRIVILEGES 2 201002 1
|
||||
12005 TABLE_CONSTRAINTS 2 201002 1
|
||||
12006 GLOBAL_STATUS 2 201002 1
|
||||
12007 PARTITIONS 2 201002 1
|
||||
12008 SESSION_STATUS 2 201002 1
|
||||
12009 user 2 201003 1
|
||||
12010 db 2 201003 1
|
||||
@ -322,7 +317,6 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
12033 __all_virtual_tenant_memstore_allocator_info 2 201001 1
|
||||
12034 __all_virtual_table_mgr 2 201001 1
|
||||
12036 __all_virtual_freeze_info 2 201001 1
|
||||
12037 PARAMETERS 2 201002 1
|
||||
12038 __all_virtual_bad_block_table 2 201001 1
|
||||
12039 __all_virtual_px_worker_stat 2 201001 1
|
||||
12055 __all_virtual_auto_increment 2 201001 1
|
||||
@ -425,7 +419,6 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
12167 __all_virtual_backup_info 2 201001 1
|
||||
12175 __all_virtual_error 2 201001 1
|
||||
12176 __all_virtual_id_service 2 201001 1
|
||||
12177 REFERENTIAL_CONSTRAINTS 2 201002 1
|
||||
12182 __all_virtual_object_type 2 201001 1
|
||||
12185 __all_virtual_sql_plan_monitor 2 201001 1
|
||||
12186 __all_virtual_sql_monitor_statname 2 201001 1
|
||||
@ -452,7 +445,6 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
12218 __all_virtual_column_stat 2 201001 1
|
||||
12219 __all_virtual_histogram_stat 2 201001 1
|
||||
12220 __all_virtual_tenant_memory_info 2 201001 1
|
||||
12221 TRIGGERS 2 201002 1
|
||||
12222 __tenant_virtual_show_create_trigger 2 201001 1
|
||||
12223 __all_virtual_px_target_monitor 2 201001 1
|
||||
12224 __all_virtual_monitor_modified 2 201001 1
|
||||
@ -466,7 +458,6 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
12232 __all_virtual_log_archive_history 2 201001 1
|
||||
12233 __all_virtual_log_archive_piece_files 2 201001 1
|
||||
12234 __all_virtual_ls_log_archive_progress 2 201001 1
|
||||
12235 CHECK_CONSTRAINTS 2 201002 1
|
||||
12236 __all_virtual_backup_storage_info 2 201001 1
|
||||
12237 __all_virtual_ls_status 2 201001 1
|
||||
12238 __all_virtual_ls 2 201001 1
|
||||
@ -828,6 +819,15 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
21339 CDB_OB_DATABASE_PRIVILEGE 1 201001 1
|
||||
21340 DBA_OB_USER_DEFINED_RULES 1 201001 1
|
||||
21345 DBA_OB_CLUSTER_EVENT_HISTORY 1 201001 1
|
||||
21346 PARAMETERS 1 201002 1
|
||||
21347 TABLE_PRIVILEGES 1 201002 1
|
||||
21348 USER_PRIVILEGES 1 201002 1
|
||||
21349 SCHEMA_PRIVILEGES 1 201002 1
|
||||
21350 CHECK_CONSTRAINTS 1 201002 1
|
||||
21351 REFERENTIAL_CONSTRAINTS 1 201002 1
|
||||
21352 TABLE_CONSTRAINTS 1 201002 1
|
||||
21355 TRIGGERS 1 201002 1
|
||||
21356 PARTITIONS 1 201002 1
|
||||
check sys table count and table_id range success
|
||||
check count and table_id range for virtual table success
|
||||
select * from information_schema.CHARACTER_SETS limit 1;
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
drop table if exists pt1;
|
||||
create table pt1 (c1 int primary key, c2 int) partition by key(c1) partitions 3;
|
||||
select * from information_schema.partitions where table_name = 'pt1';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
def test pt1 p0 NULL 1 NULL KEY NULL c1 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL default NULL
|
||||
def test pt1 p1 NULL 2 NULL KEY NULL c1 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL default NULL
|
||||
def test pt1 p2 NULL 3 NULL KEY NULL c1 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL default NULL
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION SUBPARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
def test pt1 p0 NULL 1 NULL KEY NULL c1 NULL NULL NULL NULL NULL NULL NULL NULL NULL YYYY-MM-DD hh:mm:ss NULL NULL NULL default NULL
|
||||
def test pt1 p1 NULL 2 NULL KEY NULL c1 NULL NULL NULL NULL NULL NULL NULL NULL NULL YYYY-MM-DD hh:mm:ss NULL NULL NULL default NULL
|
||||
def test pt1 p2 NULL 3 NULL KEY NULL c1 NULL NULL NULL NULL NULL NULL NULL NULL NULL YYYY-MM-DD hh:mm:ss NULL NULL NULL default NULL
|
||||
select table_schema, table_name from information_schema.partitions where table_name = 'pt1';
|
||||
table_schema table_name
|
||||
test pt1
|
||||
@ -12,29 +12,30 @@ test pt1
|
||||
test pt1
|
||||
desc information_schema.partitions;
|
||||
Field Type Null Key Default Extra
|
||||
TABLE_CATALOG varchar(4096) NO
|
||||
TABLE_CATALOG text NO
|
||||
TABLE_SCHEMA varchar(128) NO
|
||||
TABLE_NAME varchar(256) NO
|
||||
PARTITION_NAME varchar(64) YES NULL
|
||||
SUBPARTITION_NAME varchar(64) YES NULL
|
||||
PARTITION_ORDINAL_POSITION bigint(20) unsigned YES NULL
|
||||
SUBPARTITION_ORDINAL_POSITION bigint(20) unsigned YES NULL
|
||||
PARTITION_METHOD varchar(18) YES NULL
|
||||
SUBPARTITION_METHOD varchar(18) YES NULL
|
||||
PARTITION_EXPRESSION varchar(4096) YES NULL
|
||||
SUBPARTITION_EXPRESSION varchar(4096) YES NULL
|
||||
PARTITION_DESCRIPTION varchar(1024) YES NULL
|
||||
TABLE_ROWS bigint(20) unsigned NO 0
|
||||
AVG_ROW_LENGTH bigint(20) unsigned NO 0
|
||||
DATA_LENGTH bigint(20) unsigned NO 0
|
||||
MAX_DATA_LENGTH bigint(20) unsigned YES NULL
|
||||
INDEX_LENGTH bigint(20) unsigned NO 0
|
||||
DATA_FREE bigint(20) unsigned NO 0
|
||||
PARTITION_NAME varchar(64) NO
|
||||
SUBPARTITION_NAME varchar(64) NO
|
||||
PARTITION_ORDINAL_POSITION bigint(20) unsigned NO
|
||||
SUBPARTITION_ORDINAL_POSITION bigint(20) unsigned NO
|
||||
PARTITION_METHOD varchar(13) NO
|
||||
SUBPARTITION_METHOD varchar(13) NO
|
||||
PARTITION_EXPRESSION text NO
|
||||
SUBPARTITION_EXPRESSION text NO
|
||||
PARTITION_DESCRIPTION text NO
|
||||
SUBPARTITION_DESCRIPTION text NO
|
||||
TABLE_ROWS bigint(20) unsigned NO NULL
|
||||
AVG_ROW_LENGTH bigint(21) unsigned NO NULL
|
||||
DATA_LENGTH bigint(0) unsigned NO
|
||||
MAX_DATA_LENGTH bigint(0) unsigned NO
|
||||
INDEX_LENGTH bigint(0) unsigned NO
|
||||
DATA_FREE bigint(0) unsigned NO
|
||||
CREATE_TIME timestamp(6) YES NULL
|
||||
UPDATE_TIME timestamp(6) YES NULL
|
||||
CHECK_TIME timestamp(6) YES NULL
|
||||
CHECKSUM bigint(20) YES NULL
|
||||
PARTITION_COMMENT varchar(1024) NO
|
||||
NODEGROUP varchar(12) NO
|
||||
TABLESPACE_NAME varchar(128) YES NULL
|
||||
UPDATE_TIME datetime NO
|
||||
CHECK_TIME datetime NO
|
||||
CHECKSUM bigint(0) NO
|
||||
PARTITION_COMMENT text NO
|
||||
NODEGROUP varchar(256) NO
|
||||
TABLESPACE_NAME varchar(268) NO NULL
|
||||
drop table pt1;
|
||||
|
||||
@ -13,7 +13,7 @@ select * from information_schema.table_constraints where CONSTRAINT_SCHEMA = 'xi
|
||||
| def | xiaofeng_db | PRIMARY | xiaofeng_db | t1 | PRIMARY KEY | YES |
|
||||
| def | xiaofeng_db | c1 | xiaofeng_db | t2 | UNIQUE | YES |
|
||||
| def | xiaofeng_db | test_for_table_constraints_check_name | xiaofeng_db | t2 | CHECK | YES |
|
||||
| def | xiaofeng_db | test_for_table_constraints_fk_name_2 | xiaofeng_db | t2 | FOREIGN KEY | YES |
|
||||
| def | xiaofeng_db | test_for_table_constraints_fk_name_1 | xiaofeng_db | t2 | FOREIGN KEY | YES |
|
||||
| def | xiaofeng_db | test_for_table_constraints_fk_name_2 | xiaofeng_db | t2 | FOREIGN KEY | YES |
|
||||
+--------------------+-------------------+---------------------------------------+--------------+------------+-----------------+----------+
|
||||
drop database xiaofeng_db;
|
||||
|
||||
@ -3,19 +3,12 @@ create database test_user_priv_db;
|
||||
use test_user_priv_db;
|
||||
create table zhan_t1 (a int primary key, b int);
|
||||
show create table information_schema.table_privileges;
|
||||
Table Create Table
|
||||
TABLE_PRIVILEGES CREATE TABLE `TABLE_PRIVILEGES` (
|
||||
`GRANTEE` varchar(81) NOT NULL DEFAULT '',
|
||||
`TABLE_CATALOG` varchar(4096) NOT NULL DEFAULT '',
|
||||
`TABLE_SCHEMA` varchar(128) NOT NULL DEFAULT '',
|
||||
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
|
||||
`PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
|
||||
`IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
|
||||
) DEFAULT CHARSET = utf8mb4 COMPRESSION = 'none' REPLICA_NUM = NUM BLOCK_SIZE = SIZE USE_BLOOM_FILTER = FALSE TABLET_SIZE = SIZE PCTFREE = 10
|
||||
View Create View character_set_client collation_connection
|
||||
TABLE_PRIVILEGES CREATE VIEW `TABLE_PRIVILEGES` AS SELECT CAST(CONCAT('''', V.USER_NAME, '''', '@', '''', V.HOST, '''') AS CHAR(81)) AS GRANTEE , CAST('def' AS CHAR(512)) AS TABLE_CATALOG , CAST(V.DATABASE_NAME AS CHAR(128)) AS TABLE_SCHEMA , CAST(V.TABLE_NAME AS CHAR(64)) AS TABLE_NAME, CAST(V.PRIVILEGE_TYPE AS CHAR(64)) AS PRIVILEGE_TYPE , CAST(V.IS_GRANTABLE AS CHAR(3)) AS IS_GRANTABLE FROM (SELECT TP.DATABASE_NAME AS DATABASE_NAME, TP.TABLE_NAME AS TABLE_NAME, U.USER_NAME AS USER_NAME, U.HOST AS HOST, CASE WHEN V1.C1 = 1 AND TP.PRIV_ALTER = 1 THEN 'ALTER' WHEN V1.C1 = 2 AND TP.PRIV_CREATE = 1 THEN 'CREATE' WHEN V1.C1 = 4 AND TP.PRIV_DELETE = 1 THEN 'DELETE' WHEN V1.C1 = 5 AND TP.PRIV_DROP = 1 THEN 'DROP' WHEN V1.C1 = 7 AND TP.PRIV_INSERT = 1 THEN 'INSERT' WHEN V1.C1 = 8 AND TP.PRIV_UPDATE = 1 THEN 'UPDATE' WHEN V1.C1 = 9 AND TP.PRIV_SELECT = 1 THEN 'SELECT' WHEN V1.C1 = 10 AND TP.PRIV_INDEX = 1 THEN 'INDEX' WHEN V1.C1 = 11 AND TP.PRIV_CREATE_VIEW = 1 THEN 'CREATE VIEW' WHEN V1.C1 = 12 AND TP.PRIV_SHOW_VIEW = 1 THEN 'SHOW VIEW' ELSE NULL END PRIVILEGE_TYPE , CASE WHEN TP.PRIV_GRANT_OPTION = 1 THEN 'YES' WHEN TP.PRIV_GRANT_OPTION = 0 THEN 'NO' END IS_GRANTABLE FROM oceanbase.__all_table_privilege TP, oceanbase.__all_user U, (SELECT 1 AS C1 UNION ALL SELECT 2 AS C1 UNION ALL SELECT 4 AS C1 UNION ALL SELECT 5 AS C1 UNION ALL SELECT 7 AS C1 UNION ALL SELECT 8 AS C1 UNION ALL SELECT 9 AS C1 UNION ALL SELECT 10 AS C1 UNION ALL SELECT 11 AS C1 UNION ALL SELECT 12 AS C1) V1, (SELECT USER_ID FROM oceanbase.__all_user WHERE TENANT_ID = 0 AND CONCAT(USER_NAME, '@', HOST) = CURRENT_USER()) CURR LEFT JOIN (SELECT USER_ID FROM oceanbase.__all_database_privilege WHERE TENANT_ID = 0 AND DATABASE_NAME = 'mysql' AND PRIV_SELECT = 1) DB ON CURR.USER_ID = DB.USER_ID WHERE TP.TENANT_ID = 0 AND TP.TENANT_ID = U.TENANT_ID AND TP.USER_ID = U.USER_ID AND (DB.USER_ID IS NOT NULL OR 512 & CURRENT_USER_PRIV() = 512 OR TP.USER_ID = CURR.USER_ID)) V WHERE V.PRIVILEGE_TYPE IS NOT NULL utf8mb4 utf8mb4_general_ci
|
||||
desc information_schema.table_privileges;
|
||||
Field Type Null Key Default Extra
|
||||
GRANTEE varchar(81) NO
|
||||
TABLE_CATALOG varchar(4096) NO
|
||||
TABLE_CATALOG varchar(512) NO
|
||||
TABLE_SCHEMA varchar(128) NO
|
||||
TABLE_NAME varchar(64) NO
|
||||
PRIVILEGE_TYPE varchar(64) NO
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -13,16 +13,16 @@ mysql time_zone_name
|
||||
mysql time_zone
|
||||
show create view views;
|
||||
View Create View character_set_client collation_connection
|
||||
VIEWS CREATE VIEW `VIEWS` AS select 'def' AS TABLE_CATALOG, d.database_name as TABLE_SCHEMA, t.table_name as TABLE_NAME, t.view_definition as VIEW_DEFINITION, case t.view_check_option when 1 then 'LOCAL' when 2 then 'CASCADED' else 'NONE' end as CHECK_OPTION, case t.view_is_updatable when 1 then 'YES' else 'NO' end as IS_UPDATABLE, case t.define_user_id when -1 then 'NONE' else concat(u.user_name, '@', u.host) end as DEFINER, 'NONE' AS SECURITY_TYPE, case t.collation_type when 45 then 'utf8mb4' else 'NONE' end AS CHARACTER_SET_CLIENT, case t.collation_type when 45 then 'utf8mb4_general_ci' else 'NONE' end AS COLLATION_CONNECTION from oceanbase.__all_table as t join oceanbase.__all_database as d on t.tenant_id = d.tenant_id and t.database_id = d.database_id left join oceanbase.__all_user as u on t.tenant_id = u.tenant_id and t.define_user_id = u.user_id and t.define_user_id != -1 where t.tenant_id = 0 and t.table_type in (1, 4) and d.in_recyclebin = 0 and d.database_name != '__recyclebin' and d.database_name != 'information_schema' and d.database_name != 'oceanbase' and 0 = sys_privilege_check('table_acc', effective_tenant_id(), d.database_name, t.table_name) utf8mb4 utf8mb4_general_ci
|
||||
VIEWS CREATE VIEW `VIEWS` AS select cast('def' as CHAR(64)) AS TABLE_CATALOG, d.database_name as TABLE_SCHEMA, t.table_name as TABLE_NAME, t.view_definition as VIEW_DEFINITION, case t.view_check_option when 1 then 'LOCAL' when 2 then 'CASCADED' else 'NONE' end as CHECK_OPTION, case t.view_is_updatable when 1 then 'YES' else 'NO' end as IS_UPDATABLE, cast((case t.define_user_id when -1 then 'NONE' else concat(u.user_name, '@', u.host) end) as CHAR(288)) as DEFINER, cast('NONE' as CHAR(7)) AS SECURITY_TYPE, cast((case t.collation_type when 45 then 'utf8mb4' else 'NONE' end) as CHAR(64)) AS CHARACTER_SET_CLIENT, cast((case t.collation_type when 45 then 'utf8mb4_general_ci' else 'NONE' end) as CHAR(64)) AS COLLATION_CONNECTION from oceanbase.__all_table as t join oceanbase.__all_database as d on t.tenant_id = d.tenant_id and t.database_id = d.database_id left join oceanbase.__all_user as u on t.tenant_id = u.tenant_id and t.define_user_id = u.user_id and t.define_user_id != -1 where t.tenant_id = 0 and t.table_type in (1, 4) and d.in_recyclebin = 0 and d.database_name != '__recyclebin' and d.database_name != 'information_schema' and d.database_name != 'oceanbase' and 0 = sys_privilege_check('table_acc', effective_tenant_id(), d.database_name, t.table_name) utf8mb4 utf8mb4_general_ci
|
||||
desc views;
|
||||
Field Type Null Key Default Extra
|
||||
TABLE_CATALOG varchar(3) NO
|
||||
TABLE_CATALOG varchar(64) NO
|
||||
TABLE_SCHEMA varchar(128) NO
|
||||
TABLE_NAME varchar(256) NO
|
||||
VIEW_DEFINITION longtext NO NULL
|
||||
CHECK_OPTION varchar(8) NO NULL
|
||||
IS_UPDATABLE varchar(3) NO NULL
|
||||
DEFINER varchar(257) NO
|
||||
SECURITY_TYPE varchar(4) NO
|
||||
CHARACTER_SET_CLIENT varchar(7) NO NULL
|
||||
COLLATION_CONNECTION varchar(18) NO NULL
|
||||
DEFINER varchar(288) NO
|
||||
SECURITY_TYPE varchar(7) NO
|
||||
CHARACTER_SET_CLIENT varchar(64) NO
|
||||
COLLATION_CONNECTION varchar(64) NO
|
||||
|
||||
@ -9,6 +9,7 @@ set @@session.explicit_defaults_for_timestamp=off;
|
||||
drop table if exists pt1;
|
||||
--enable_warnings
|
||||
create table pt1 (c1 int primary key, c2 int) partition by key(c1) partitions 3;
|
||||
--replace_column 20 "YYYY-MM-DD hh:mm:ss"
|
||||
select * from information_schema.partitions where table_name = 'pt1';
|
||||
select table_schema, table_name from information_schema.partitions where table_name = 'pt1';
|
||||
desc information_schema.partitions;
|
||||
|
||||
Reference in New Issue
Block a user