feat: add some tables for information_schema (#3060)

* feat: add information_schema.optimizer_trace

* feat: add information_schema.parameters

* feat: add information_schema.profiling

* feat: add information_schema.referential_constraints

* feat: add information_schema.routines

* feat: add information_schema.schema_privileges

* feat: add information_schema.table_privileges

* feat: add information_schema.triggers

* fix: update sql test result

* feat: add information_schema.global_status

* feat: add information_schema.session_status

* fix: update sql test result

* fix: add TODO for some tables

* Update src/catalog/src/information_schema/memory_table/tables.rs

Co-authored-by: Yingwen <realevenyag@gmail.com>

---------

Co-authored-by: dennis zhuang <killme2008@gmail.com>
Co-authored-by: Yingwen <realevenyag@gmail.com>
This commit is contained in:
dimbtp
2024-01-02 12:10:59 +08:00
committed by GitHub
parent f735f739e5
commit c4d7b0d91d
6 changed files with 510 additions and 139 deletions

View File

@@ -61,6 +61,16 @@ lazy_static! {
CHECK_CONSTRAINTS,
EVENTS,
FILES,
OPTIMIZER_TRACE,
PARAMETERS,
PROFILING,
REFERENTIAL_CONSTRAINTS,
ROUTINES,
SCHEMA_PRIVILEGES,
TABLE_PRIVILEGES,
TRIGGERS,
GLOBAL_STATUS,
SESSION_STATUS,
];
}
@@ -179,6 +189,16 @@ impl InformationSchemaProvider {
CHECK_CONSTRAINTS => setup_memory_table!(CHECK_CONSTRAINTS),
EVENTS => setup_memory_table!(EVENTS),
FILES => setup_memory_table!(FILES),
OPTIMIZER_TRACE => setup_memory_table!(OPTIMIZER_TRACE),
PARAMETERS => setup_memory_table!(PARAMETERS),
PROFILING => setup_memory_table!(PROFILING),
REFERENTIAL_CONSTRAINTS => setup_memory_table!(REFERENTIAL_CONSTRAINTS),
ROUTINES => setup_memory_table!(ROUTINES),
SCHEMA_PRIVILEGES => setup_memory_table!(SCHEMA_PRIVILEGES),
TABLE_PRIVILEGES => setup_memory_table!(TABLE_PRIVILEGES),
TRIGGERS => setup_memory_table!(TRIGGERS),
GLOBAL_STATUS => setup_memory_table!(GLOBAL_STATUS),
SESSION_STATUS => setup_memory_table!(SESSION_STATUS),
KEY_COLUMN_USAGE => Some(Arc::new(InformationSchemaKeyColumnUsage::new(
self.catalog_name.clone(),
self.catalog_manager.clone(),

View File

@@ -227,6 +227,190 @@ pub fn get_schema_columns(table_name: &str) -> (SchemaRef, Vec<VectorRef>) {
vec![],
),
OPTIMIZER_TRACE => (
vec![
string_column("QUERY"),
string_column("TRACE"),
bigint_column("MISSING_BYTES_BEYOND_MAX_MEM_SIZE"),
bigint_column("INSUFFICIENT_PRIVILEGES"),
],
vec![],
),
// MySQL(https://dev.mysql.com/doc/refman/8.2/en/information-schema-parameters-table.html)
// has the spec that is different from
// PostgreSQL(https://www.postgresql.org/docs/current/infoschema-parameters.html).
// Follow `MySQL` spec here.
PARAMETERS => (
vec![
string_column("SPECIFIC_CATALOG"),
string_column("SPECIFIC_SCHEMA"),
string_column("SPECIFIC_NAME"),
bigint_column("ORDINAL_POSITION"),
string_column("PARAMETER_MODE"),
string_column("PARAMETER_NAME"),
string_column("DATA_TYPE"),
bigint_column("CHARACTER_MAXIMUM_LENGTH"),
bigint_column("CHARACTER_OCTET_LENGTH"),
bigint_column("NUMERIC_PRECISION"),
bigint_column("NUMERIC_SCALE"),
bigint_column("DATETIME_PRECISION"),
string_column("CHARACTER_SET_NAME"),
string_column("COLLATION_NAME"),
string_column("DTD_IDENTIFIER"),
string_column("ROUTINE_TYPE"),
],
vec![],
),
PROFILING => (
vec![
bigint_column("QUERY_ID"),
bigint_column("SEQ"),
string_column("STATE"),
bigint_column("DURATION"),
bigint_column("CPU_USER"),
bigint_column("CPU_SYSTEM"),
bigint_column("CONTEXT_VOLUNTARY"),
bigint_column("CONTEXT_INVOLUNTARY"),
bigint_column("BLOCK_OPS_IN"),
bigint_column("BLOCK_OPS_OUT"),
bigint_column("MESSAGES_SENT"),
bigint_column("MESSAGES_RECEIVED"),
bigint_column("PAGE_FAULTS_MAJOR"),
bigint_column("PAGE_FAULTS_MINOR"),
bigint_column("SWAPS"),
string_column("SOURCE_FUNCTION"),
string_column("SOURCE_FILE"),
bigint_column("SOURCE_LINE"),
],
vec![],
),
// TODO: _Must_ reimplement this table when foreign key constraint is supported.
REFERENTIAL_CONSTRAINTS => (
vec![
string_column("CONSTRAINT_CATALOG"),
string_column("CONSTRAINT_SCHEMA"),
string_column("CONSTRAINT_NAME"),
string_column("UNIQUE_CONSTRAINT_CATALOG"),
string_column("UNIQUE_CONSTRAINT_SCHEMA"),
string_column("UNIQUE_CONSTRAINT_NAME"),
string_column("MATCH_OPTION"),
string_column("UPDATE_RULE"),
string_column("DELETE_RULE"),
string_column("TABLE_NAME"),
string_column("REFERENCED_TABLE_NAME"),
],
vec![],
),
ROUTINES => (
vec![
string_column("SPECIFIC_NAME"),
string_column("ROUTINE_CATALOG"),
string_column("ROUTINE_SCHEMA"),
string_column("ROUTINE_NAME"),
string_column("ROUTINE_TYPE"),
string_column("DATA_TYPE"),
bigint_column("CHARACTER_MAXIMUM_LENGTH"),
bigint_column("CHARACTER_OCTET_LENGTH"),
bigint_column("NUMERIC_PRECISION"),
bigint_column("NUMERIC_SCALE"),
bigint_column("DATETIME_PRECISION"),
string_column("CHARACTER_SET_NAME"),
string_column("COLLATION_NAME"),
string_column("DTD_IDENTIFIER"),
string_column("ROUTINE_BODY"),
string_column("ROUTINE_DEFINITION"),
string_column("EXTERNAL_NAME"),
string_column("EXTERNAL_LANGUAGE"),
string_column("PARAMETER_STYLE"),
string_column("IS_DETERMINISTIC"),
string_column("SQL_DATA_ACCESS"),
string_column("SQL_PATH"),
string_column("SECURITY_TYPE"),
datetime_column("CREATED"),
datetime_column("LAST_ALTERED"),
string_column("SQL_MODE"),
string_column("ROUTINE_COMMENT"),
string_column("DEFINER"),
string_column("CHARACTER_SET_CLIENT"),
string_column("COLLATION_CONNECTION"),
string_column("DATABASE_COLLATION"),
],
vec![],
),
SCHEMA_PRIVILEGES => (
vec![
string_column("GRANTEE"),
string_column("TABLE_CATALOG"),
string_column("TABLE_SCHEMA"),
string_column("PRIVILEGE_TYPE"),
string_column("IS_GRANTABLE"),
],
vec![],
),
TABLE_PRIVILEGES => (
vec![
string_column("GRANTEE"),
string_column("TABLE_CATALOG"),
string_column("TABLE_SCHEMA"),
string_column("TABLE_NAME"),
string_column("PRIVILEGE_TYPE"),
string_column("IS_GRANTABLE"),
],
vec![],
),
TRIGGERS => (
vec![
string_column("TRIGGER_CATALOG"),
string_column("TRIGGER_SCHEMA"),
string_column("TRIGGER_NAME"),
string_column("EVENT_MANIPULATION"),
string_column("EVENT_OBJECT_CATALOG"),
string_column("EVENT_OBJECT_SCHEMA"),
string_column("EVENT_OBJECT_TABLE"),
bigint_column("ACTION_ORDER"),
string_column("ACTION_CONDITION"),
string_column("ACTION_STATEMENT"),
string_column("ACTION_ORIENTATION"),
string_column("ACTION_TIMING"),
string_column("ACTION_REFERENCE_OLD_TABLE"),
string_column("ACTION_REFERENCE_NEW_TABLE"),
string_column("ACTION_REFERENCE_OLD_ROW"),
string_column("ACTION_REFERENCE_NEW_ROW"),
datetime_column("CREATED"),
string_column("SQL_MODE"),
string_column("DEFINER"),
string_column("CHARACTER_SET_CLIENT"),
string_column("COLLATION_CONNECTION"),
string_column("DATABASE_COLLATION"),
],
vec![],
),
// TODO: Considering store internal metrics in `global_status` and
// `session_status` tables.
GLOBAL_STATUS => (
vec![
string_column("VARIABLE_NAME"),
string_column("VARIABLE_VALUE"),
],
vec![],
),
SESSION_STATUS => (
vec![
string_column("VARIABLE_NAME"),
string_column("VARIABLE_VALUE"),
],
vec![],
),
_ => unreachable!("Unknown table in information_schema: {}", table_name),
};

View File

@@ -25,6 +25,16 @@ pub const COLLATIONS: &str = "collations";
pub const COLLATION_CHARACTER_SET_APPLICABILITY: &str = "collation_character_set_applicability";
pub const CHECK_CONSTRAINTS: &str = "check_constraints";
pub const EVENTS: &str = "events";
pub const KEY_COLUMN_USAGE: &str = "key_column_usage";
pub const FILES: &str = "files";
pub const SCHEMATA: &str = "schemata";
pub const KEY_COLUMN_USAGE: &str = "key_column_usage";
pub const OPTIMIZER_TRACE: &str = "optimizer_trace";
pub const PARAMETERS: &str = "parameters";
pub const PROFILING: &str = "profiling";
pub const REFERENTIAL_CONSTRAINTS: &str = "referential_constraints";
pub const ROUTINES: &str = "routines";
pub const SCHEMA_PRIVILEGES: &str = "schema_privileges";
pub const TABLE_PRIVILEGES: &str = "table_privileges";
pub const TRIGGERS: &str = "triggers";
pub const GLOBAL_STATUS: &str = "global_status";
pub const SESSION_STATUS: &str = "session_status";

View File

@@ -60,6 +60,26 @@ pub const INFORMATION_SCHEMA_FILES_TABLE_ID: u32 = 14;
pub const INFORMATION_SCHEMA_SCHEMATA_TABLE_ID: u32 = 15;
/// id for information_schema.KEY_COLUMN_USAGE
pub const INFORMATION_SCHEMA_KEY_COLUMN_USAGE_TABLE_ID: u32 = 16;
/// id for information_schema.OPTIMIZER_TRACE
pub const INFORMATION_SCHEMA_OPTIMIZER_TRACE_TABLE_ID: u32 = 17;
/// id for information_schema.PARAMETERS
pub const INFORMATION_SCHEMA_PARAMETERS_TABLE_ID: u32 = 18;
/// id for information_schema.PROFILING
pub const INFORMATION_SCHEMA_PROFILING_TABLE_ID: u32 = 19;
/// id for information_schema.REFERENTIAL_CONSTRAINTS
pub const INFORMATION_SCHEMA_REFERENTIAL_CONSTRAINTS_TABLE_ID: u32 = 20;
/// id for information_schema.ROUTINES
pub const INFORMATION_SCHEMA_ROUTINES_TABLE_ID: u32 = 21;
/// id for information_schema.SCHEMA_PRIVILEGES
pub const INFORMATION_SCHEMA_SCHEMA_PRIVILEGES_TABLE_ID: u32 = 22;
/// id for information_schema.TABLE_PRIVILEGES
pub const INFORMATION_SCHEMA_TABLE_PRIVILEGES_TABLE_ID: u32 = 23;
/// id for information_schema.TRIGGERS
pub const INFORMATION_SCHEMA_TRIGGERS_TABLE_ID: u32 = 24;
/// id for information_schema.GLOBAL_STATUS
pub const INFORMATION_SCHEMA_GLOBAL_STATUS_TABLE_ID: u32 = 25;
/// id for information_schema.SESSION_STATUS
pub const INFORMATION_SCHEMA_SESSION_STATUS_TABLE_ID: u32 = 26;
/// ----- End of information_schema tables -----
pub const MITO_ENGINE: &str = "mito";

View File

@@ -31,8 +31,18 @@ show tables;
| engines |
| events |
| files |
| global_status |
| key_column_usage |
| optimizer_trace |
| parameters |
| profiling |
| referential_constraints |
| routines |
| schema_privileges |
| schemata |
| session_status |
| table_privileges |
| tables |
| triggers |
+---------------------------------------+

View File

@@ -23,152 +23,279 @@ order by table_schema, table_name;
| greptime | information_schema | engines | LOCAL TEMPORARY | 5 | |
| greptime | information_schema | events | LOCAL TEMPORARY | 13 | |
| greptime | information_schema | files | LOCAL TEMPORARY | 14 | |
| greptime | information_schema | global_status | LOCAL TEMPORARY | 25 | |
| greptime | information_schema | key_column_usage | LOCAL TEMPORARY | 16 | |
| greptime | information_schema | optimizer_trace | LOCAL TEMPORARY | 17 | |
| greptime | information_schema | parameters | LOCAL TEMPORARY | 18 | |
| greptime | information_schema | profiling | LOCAL TEMPORARY | 19 | |
| greptime | information_schema | referential_constraints | LOCAL TEMPORARY | 20 | |
| greptime | information_schema | routines | LOCAL TEMPORARY | 21 | |
| greptime | information_schema | schema_privileges | LOCAL TEMPORARY | 22 | |
| greptime | information_schema | schemata | LOCAL TEMPORARY | 15 | |
| greptime | information_schema | session_status | LOCAL TEMPORARY | 26 | |
| greptime | information_schema | table_privileges | LOCAL TEMPORARY | 23 | |
| greptime | information_schema | tables | LOCAL TEMPORARY | 3 | |
| greptime | information_schema | triggers | LOCAL TEMPORARY | 24 | |
| greptime | public | numbers | LOCAL TEMPORARY | 2 | test_engine |
+---------------+--------------------+---------------------------------------+-----------------+----------+-------------+
select * from information_schema.columns order by table_schema, table_name;
+---------------+--------------------+---------------------------------------+-------------------------------+-----------+---------------+----------------+-------------+-------------+----------------+
| table_catalog | table_schema | table_name | column_name | data_type | semantic_type | column_default | is_nullable | column_type | column_comment |
+---------------+--------------------+---------------------------------------+-------------------------------+-----------+---------------+----------------+-------------+-------------+----------------+
| greptime | information_schema | build_info | git_branch | String | FIELD | | No | String | |
| greptime | information_schema | build_info | git_commit | String | FIELD | | No | String | |
| greptime | information_schema | build_info | git_commit_short | String | FIELD | | No | String | |
| greptime | information_schema | build_info | git_dirty | String | FIELD | | No | String | |
| greptime | information_schema | build_info | pkg_version | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | description | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | default_collate_name | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | maxlen | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | check_constraints | check_clause | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | constraint_name | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | constraint_schema | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | constraint_catalog | String | FIELD | | No | String | |
| greptime | information_schema | collation_character_set_applicability | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | collation_character_set_applicability | collation_name | String | FIELD | | No | String | |
| greptime | information_schema | collations | collation_name | String | FIELD | | No | String | |
| greptime | information_schema | collations | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | collations | id | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | collations | is_default | String | FIELD | | No | String | |
| greptime | information_schema | collations | is_compiled | String | FIELD | | No | String | |
| greptime | information_schema | collations | sortlen | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | column_privileges | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | grantee | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | table_name | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | column_name | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | privilege_type | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | is_grantable | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | histogram | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | schema_name | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | table_name | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | column_name | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_type | String | FIELD | | No | String | |
| greptime | information_schema | columns | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_comment | String | FIELD | | Yes | String | |
| greptime | information_schema | columns | is_nullable | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_default | String | FIELD | | Yes | String | |
| greptime | information_schema | columns | semantic_type | String | FIELD | | No | String | |
| greptime | information_schema | columns | data_type | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_name | String | FIELD | | No | String | |
| greptime | information_schema | columns | table_name | String | FIELD | | No | String | |
| greptime | information_schema | columns | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | engines | xa | String | FIELD | | No | String | |
| greptime | information_schema | engines | transactions | String | FIELD | | No | String | |
| greptime | information_schema | engines | comment | String | FIELD | | No | String | |
| greptime | information_schema | engines | support | String | FIELD | | No | String | |
| greptime | information_schema | engines | engine | String | FIELD | | No | String | |
| greptime | information_schema | engines | savepoints | String | FIELD | | No | String | |
| greptime | information_schema | events | starts | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | event_comment | String | FIELD | | No | String | |
| greptime | information_schema | events | database_collation | String | FIELD | | No | String | |
| greptime | information_schema | events | collation_connection | String | FIELD | | No | String | |
| greptime | information_schema | events | character_set_client | String | FIELD | | No | String | |
| greptime | information_schema | events | originator | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | events | event_catalog | String | FIELD | | No | String | |
| greptime | information_schema | events | event_schema | String | FIELD | | No | String | |
| greptime | information_schema | events | event_name | String | FIELD | | No | String | |
| greptime | information_schema | events | definer | String | FIELD | | No | String | |
| greptime | information_schema | events | time_zone | String | FIELD | | No | String | |
| greptime | information_schema | events | event_body | String | FIELD | | No | String | |
| greptime | information_schema | events | event_definition | String | FIELD | | No | String | |
| greptime | information_schema | events | event_type | String | FIELD | | No | String | |
| greptime | information_schema | events | execute_at | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | interval_value | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | events | interval_field | String | FIELD | | No | String | |
| greptime | information_schema | events | sql_mode | String | FIELD | | No | String | |
| greptime | information_schema | events | ends | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | status | String | FIELD | | No | String | |
| greptime | information_schema | events | on_completion | String | FIELD | | No | String | |
| greptime | information_schema | events | created | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | last_altered | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | last_executed | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | free_extents | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | row_format | String | FIELD | | No | String | |
| greptime | information_schema | files | extra | String | FIELD | | No | String | |
| greptime | information_schema | files | status | String | FIELD | | No | String | |
| greptime | information_schema | files | checksum | String | FIELD | | No | String | |
| greptime | information_schema | files | check_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | file_id | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | file_name | String | FIELD | | No | String | |
| greptime | information_schema | files | file_type | String | FIELD | | No | String | |
| greptime | information_schema | files | tablespace_name | String | FIELD | | No | String | |
| greptime | information_schema | files | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | files | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | files | table_name | String | FIELD | | No | String | |
| greptime | information_schema | files | logfile_group_name | String | FIELD | | No | String | |
| greptime | information_schema | files | logfile_group_number | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | engine | String | FIELD | | No | String | |
| greptime | information_schema | files | fulltext_keys | String | FIELD | | No | String | |
| greptime | information_schema | files | deleted_rows | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | update_count | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | update_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | total_extents | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | extent_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | initial_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | maximum_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | autoextend_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | creation_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | last_update_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | last_access_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | recover_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | transaction_counter | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | version | String | FIELD | | No | String | |
| greptime | information_schema | files | create_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | table_rows | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | avg_row_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | data_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | max_data_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | index_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | data_free | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | key_column_usage | ordinal_position | UInt32 | FIELD | | No | UInt32 | |
| greptime | information_schema | key_column_usage | constraint_schema | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | referenced_column_name | String | FIELD | | Yes | String | |
| greptime | information_schema | key_column_usage | referenced_table_name | String | FIELD | | Yes | String | |
| greptime | information_schema | key_column_usage | referenced_table_schema | String | FIELD | | Yes | String | |
| greptime | information_schema | key_column_usage | position_in_unique_constraint | UInt32 | FIELD | | Yes | UInt32 | |
| greptime | information_schema | key_column_usage | constraint_catalog | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | column_name | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | constraint_name | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | table_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | catalog_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | default_collation_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | default_character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | sql_path | String | FIELD | | Yes | String | |
| greptime | information_schema | schemata | schema_name | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | tables | engine | String | FIELD | | Yes | String | |
| greptime | information_schema | tables | table_name | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_type | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_id | UInt32 | FIELD | | Yes | UInt32 | |
| greptime | public | numbers | number | UInt32 | TAG | | No | UInt32 | |
+---------------+--------------------+---------------------------------------+-------------------------------+-----------+---------------+----------------+-------------+-------------+----------------+
+---------------+--------------------+---------------------------------------+-----------------------------------+-----------+---------------+----------------+-------------+-------------+----------------+
| table_catalog | table_schema | table_name | column_name | data_type | semantic_type | column_default | is_nullable | column_type | column_comment |
+---------------+--------------------+---------------------------------------+-----------------------------------+-----------+---------------+----------------+-------------+-------------+----------------+
| greptime | information_schema | build_info | git_branch | String | FIELD | | No | String | |
| greptime | information_schema | build_info | git_commit | String | FIELD | | No | String | |
| greptime | information_schema | build_info | git_commit_short | String | FIELD | | No | String | |
| greptime | information_schema | build_info | git_dirty | String | FIELD | | No | String | |
| greptime | information_schema | build_info | pkg_version | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | maxlen | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | character_sets | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | default_collate_name | String | FIELD | | No | String | |
| greptime | information_schema | character_sets | description | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | check_clause | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | constraint_catalog | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | constraint_schema | String | FIELD | | No | String | |
| greptime | information_schema | check_constraints | constraint_name | String | FIELD | | No | String | |
| greptime | information_schema | collation_character_set_applicability | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | collation_character_set_applicability | collation_name | String | FIELD | | No | String | |
| greptime | information_schema | collations | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | collations | collation_name | String | FIELD | | No | String | |
| greptime | information_schema | collations | sortlen | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | collations | id | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | collations | is_default | String | FIELD | | No | String | |
| greptime | information_schema | collations | is_compiled | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | grantee | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | table_name | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | column_name | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | privilege_type | String | FIELD | | No | String | |
| greptime | information_schema | column_privileges | is_grantable | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | histogram | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | schema_name | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | table_name | String | FIELD | | No | String | |
| greptime | information_schema | column_statistics | column_name | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_type | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_comment | String | FIELD | | Yes | String | |
| greptime | information_schema | columns | table_name | String | FIELD | | No | String | |
| greptime | information_schema | columns | is_nullable | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_default | String | FIELD | | Yes | String | |
| greptime | information_schema | columns | semantic_type | String | FIELD | | No | String | |
| greptime | information_schema | columns | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | columns | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | columns | data_type | String | FIELD | | No | String | |
| greptime | information_schema | columns | column_name | String | FIELD | | No | String | |
| greptime | information_schema | engines | savepoints | String | FIELD | | No | String | |
| greptime | information_schema | engines | xa | String | FIELD | | No | String | |
| greptime | information_schema | engines | transactions | String | FIELD | | No | String | |
| greptime | information_schema | engines | comment | String | FIELD | | No | String | |
| greptime | information_schema | engines | support | String | FIELD | | No | String | |
| greptime | information_schema | engines | engine | String | FIELD | | No | String | |
| greptime | information_schema | events | event_name | String | FIELD | | No | String | |
| greptime | information_schema | events | last_executed | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | database_collation | String | FIELD | | No | String | |
| greptime | information_schema | events | collation_connection | String | FIELD | | No | String | |
| greptime | information_schema | events | character_set_client | String | FIELD | | No | String | |
| greptime | information_schema | events | originator | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | events | event_catalog | String | FIELD | | No | String | |
| greptime | information_schema | events | event_schema | String | FIELD | | No | String | |
| greptime | information_schema | events | event_comment | String | FIELD | | No | String | |
| greptime | information_schema | events | definer | String | FIELD | | No | String | |
| greptime | information_schema | events | time_zone | String | FIELD | | No | String | |
| greptime | information_schema | events | event_body | String | FIELD | | No | String | |
| greptime | information_schema | events | event_definition | String | FIELD | | No | String | |
| greptime | information_schema | events | event_type | String | FIELD | | No | String | |
| greptime | information_schema | events | execute_at | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | interval_value | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | events | interval_field | String | FIELD | | No | String | |
| greptime | information_schema | events | sql_mode | String | FIELD | | No | String | |
| greptime | information_schema | events | starts | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | ends | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | status | String | FIELD | | No | String | |
| greptime | information_schema | events | on_completion | String | FIELD | | No | String | |
| greptime | information_schema | events | created | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | events | last_altered | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | file_name | String | FIELD | | No | String | |
| greptime | information_schema | files | free_extents | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | checksum | String | FIELD | | No | String | |
| greptime | information_schema | files | update_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | create_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | status | String | FIELD | | No | String | |
| greptime | information_schema | files | file_id | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | check_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | file_type | String | FIELD | | No | String | |
| greptime | information_schema | files | tablespace_name | String | FIELD | | No | String | |
| greptime | information_schema | files | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | files | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | files | table_name | String | FIELD | | No | String | |
| greptime | information_schema | files | logfile_group_name | String | FIELD | | No | String | |
| greptime | information_schema | files | logfile_group_number | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | engine | String | FIELD | | No | String | |
| greptime | information_schema | files | fulltext_keys | String | FIELD | | No | String | |
| greptime | information_schema | files | deleted_rows | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | update_count | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | extra | String | FIELD | | No | String | |
| greptime | information_schema | files | total_extents | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | extent_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | initial_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | maximum_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | autoextend_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | creation_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | last_update_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | last_access_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | recover_time | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | files | transaction_counter | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | version | String | FIELD | | No | String | |
| greptime | information_schema | files | row_format | String | FIELD | | No | String | |
| greptime | information_schema | files | table_rows | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | avg_row_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | data_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | max_data_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | index_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | files | data_free | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | global_status | variable_name | String | FIELD | | No | String | |
| greptime | information_schema | global_status | variable_value | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | ordinal_position | UInt32 | FIELD | | No | UInt32 | |
| greptime | information_schema | key_column_usage | referenced_column_name | String | FIELD | | Yes | String | |
| greptime | information_schema | key_column_usage | referenced_table_name | String | FIELD | | Yes | String | |
| greptime | information_schema | key_column_usage | referenced_table_schema | String | FIELD | | Yes | String | |
| greptime | information_schema | key_column_usage | position_in_unique_constraint | UInt32 | FIELD | | Yes | UInt32 | |
| greptime | information_schema | key_column_usage | constraint_catalog | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | constraint_schema | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | constraint_name | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | table_name | String | FIELD | | No | String | |
| greptime | information_schema | key_column_usage | column_name | String | FIELD | | No | String | |
| greptime | information_schema | optimizer_trace | insufficient_privileges | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | optimizer_trace | missing_bytes_beyond_max_mem_size | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | optimizer_trace | trace | String | FIELD | | No | String | |
| greptime | information_schema | optimizer_trace | query | String | FIELD | | No | String | |
| greptime | information_schema | parameters | specific_catalog | String | FIELD | | No | String | |
| greptime | information_schema | parameters | character_maximum_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | parameters | routine_type | String | FIELD | | No | String | |
| greptime | information_schema | parameters | dtd_identifier | String | FIELD | | No | String | |
| greptime | information_schema | parameters | collation_name | String | FIELD | | No | String | |
| greptime | information_schema | parameters | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | parameters | datetime_precision | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | parameters | numeric_scale | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | parameters | numeric_precision | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | parameters | character_octet_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | parameters | specific_schema | String | FIELD | | No | String | |
| greptime | information_schema | parameters | specific_name | String | FIELD | | No | String | |
| greptime | information_schema | parameters | ordinal_position | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | parameters | parameter_mode | String | FIELD | | No | String | |
| greptime | information_schema | parameters | parameter_name | String | FIELD | | No | String | |
| greptime | information_schema | parameters | data_type | String | FIELD | | No | String | |
| greptime | information_schema | profiling | block_ops_out | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | messages_sent | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | source_line | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | source_file | String | FIELD | | No | String | |
| greptime | information_schema | profiling | source_function | String | FIELD | | No | String | |
| greptime | information_schema | profiling | swaps | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | page_faults_minor | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | page_faults_major | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | messages_received | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | query_id | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | seq | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | state | String | FIELD | | No | String | |
| greptime | information_schema | profiling | duration | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | cpu_user | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | cpu_system | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | context_voluntary | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | context_involuntary | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | profiling | block_ops_in | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | referential_constraints | referenced_table_name | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | constraint_name | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | table_name | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | delete_rule | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | update_rule | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | match_option | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | unique_constraint_name | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | unique_constraint_schema | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | unique_constraint_catalog | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | constraint_catalog | String | FIELD | | No | String | |
| greptime | information_schema | referential_constraints | constraint_schema | String | FIELD | | No | String | |
| greptime | information_schema | routines | sql_mode | String | FIELD | | No | String | |
| greptime | information_schema | routines | security_type | String | FIELD | | No | String | |
| greptime | information_schema | routines | database_collation | String | FIELD | | No | String | |
| greptime | information_schema | routines | data_type | String | FIELD | | No | String | |
| greptime | information_schema | routines | character_set_client | String | FIELD | | No | String | |
| greptime | information_schema | routines | definer | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_comment | String | FIELD | | No | String | |
| greptime | information_schema | routines | last_altered | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | routines | created | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | routines | specific_name | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_catalog | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_schema | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_name | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_type | String | FIELD | | No | String | |
| greptime | information_schema | routines | collation_connection | String | FIELD | | No | String | |
| greptime | information_schema | routines | character_maximum_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | routines | character_octet_length | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | routines | numeric_precision | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | routines | numeric_scale | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | routines | datetime_precision | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | routines | character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | routines | collation_name | String | FIELD | | No | String | |
| greptime | information_schema | routines | dtd_identifier | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_body | String | FIELD | | No | String | |
| greptime | information_schema | routines | routine_definition | String | FIELD | | No | String | |
| greptime | information_schema | routines | external_name | String | FIELD | | No | String | |
| greptime | information_schema | routines | external_language | String | FIELD | | No | String | |
| greptime | information_schema | routines | parameter_style | String | FIELD | | No | String | |
| greptime | information_schema | routines | is_deterministic | String | FIELD | | No | String | |
| greptime | information_schema | routines | sql_data_access | String | FIELD | | No | String | |
| greptime | information_schema | routines | sql_path | String | FIELD | | No | String | |
| greptime | information_schema | schema_privileges | is_grantable | String | FIELD | | No | String | |
| greptime | information_schema | schema_privileges | grantee | String | FIELD | | No | String | |
| greptime | information_schema | schema_privileges | privilege_type | String | FIELD | | No | String | |
| greptime | information_schema | schema_privileges | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | schema_privileges | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | schemata | schema_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | catalog_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | sql_path | String | FIELD | | Yes | String | |
| greptime | information_schema | schemata | default_character_set_name | String | FIELD | | No | String | |
| greptime | information_schema | schemata | default_collation_name | String | FIELD | | No | String | |
| greptime | information_schema | session_status | variable_value | String | FIELD | | No | String | |
| greptime | information_schema | session_status | variable_name | String | FIELD | | No | String | |
| greptime | information_schema | table_privileges | grantee | String | FIELD | | No | String | |
| greptime | information_schema | table_privileges | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | table_privileges | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | table_privileges | table_name | String | FIELD | | No | String | |
| greptime | information_schema | table_privileges | privilege_type | String | FIELD | | No | String | |
| greptime | information_schema | table_privileges | is_grantable | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_catalog | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_name | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_type | String | FIELD | | No | String | |
| greptime | information_schema | tables | engine | String | FIELD | | Yes | String | |
| greptime | information_schema | tables | table_schema | String | FIELD | | No | String | |
| greptime | information_schema | tables | table_id | UInt32 | FIELD | | Yes | UInt32 | |
| greptime | information_schema | triggers | event_manipulation | String | FIELD | | No | String | |
| greptime | information_schema | triggers | event_object_schema | String | FIELD | | No | String | |
| greptime | information_schema | triggers | event_object_table | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_order | Int64 | FIELD | | No | Int64 | |
| greptime | information_schema | triggers | action_condition | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_statement | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_orientation | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_timing | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_reference_old_table | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_reference_new_table | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_reference_old_row | String | FIELD | | No | String | |
| greptime | information_schema | triggers | action_reference_new_row | String | FIELD | | No | String | |
| greptime | information_schema | triggers | created | DateTime | FIELD | | No | DateTime | |
| greptime | information_schema | triggers | sql_mode | String | FIELD | | No | String | |
| greptime | information_schema | triggers | definer | String | FIELD | | No | String | |
| greptime | information_schema | triggers | character_set_client | String | FIELD | | No | String | |
| greptime | information_schema | triggers | collation_connection | String | FIELD | | No | String | |
| greptime | information_schema | triggers | database_collation | String | FIELD | | No | String | |
| greptime | information_schema | triggers | trigger_catalog | String | FIELD | | No | String | |
| greptime | information_schema | triggers | event_object_catalog | String | FIELD | | No | String | |
| greptime | information_schema | triggers | trigger_name | String | FIELD | | No | String | |
| greptime | information_schema | triggers | trigger_schema | String | FIELD | | No | String | |
| greptime | public | numbers | number | UInt32 | TAG | | No | UInt32 | |
+---------------+--------------------+---------------------------------------+-----------------------------------+-----------+---------------+----------------+-------------+-------------+----------------+
create
database my_db;