1use const_format::concatcp;
16
17pub const SYSTEM_CATALOG_NAME: &str = "system";
18pub const INFORMATION_SCHEMA_NAME: &str = "information_schema";
19pub const PG_CATALOG_NAME: &str = "pg_catalog";
20pub const SYSTEM_CATALOG_TABLE_NAME: &str = "system_catalog";
21pub const DEFAULT_CATALOG_NAME: &str = env!("DEFAULT_CATALOG_NAME");
22pub const DEFAULT_SCHEMA_NAME: &str = "public";
23pub const DEFAULT_PRIVATE_SCHEMA_NAME: &str = concatcp!(DEFAULT_CATALOG_NAME, "_private");
24
25pub const MIN_USER_FLOW_ID: u32 = 1024;
28pub const MIN_USER_TABLE_ID: u32 = 1024;
31pub const MAX_SYS_TABLE_ID: u32 = MIN_USER_TABLE_ID - 1;
33pub const SYSTEM_CATALOG_TABLE_ID: u32 = 0;
35pub const SCRIPTS_TABLE_ID: u32 = 1;
37pub const NUMBERS_TABLE_ID: u32 = 2;
39
40pub const INFORMATION_SCHEMA_TABLES_TABLE_ID: u32 = 3;
43pub const INFORMATION_SCHEMA_COLUMNS_TABLE_ID: u32 = 4;
45pub const INFORMATION_SCHEMA_ENGINES_TABLE_ID: u32 = 5;
47pub const INFORMATION_SCHEMA_COLUMN_PRIVILEGES_TABLE_ID: u32 = 6;
49pub const INFORMATION_SCHEMA_COLUMN_STATISTICS_TABLE_ID: u32 = 7;
51pub const INFORMATION_SCHEMA_BUILD_INFO_TABLE_ID: u32 = 8;
53pub const INFORMATION_SCHEMA_CHARACTER_SETS_TABLE_ID: u32 = 9;
55pub const INFORMATION_SCHEMA_COLLATIONS_TABLE_ID: u32 = 10;
57pub const INFORMATION_SCHEMA_COLLATION_CHARACTER_SET_APPLICABILITY_TABLE_ID: u32 = 11;
59pub const INFORMATION_SCHEMA_CHECK_CONSTRAINTS_TABLE_ID: u32 = 12;
61pub const INFORMATION_SCHEMA_EVENTS_TABLE_ID: u32 = 13;
63pub const INFORMATION_SCHEMA_FILES_TABLE_ID: u32 = 14;
65pub const INFORMATION_SCHEMA_SCHEMATA_TABLE_ID: u32 = 15;
67pub const INFORMATION_SCHEMA_KEY_COLUMN_USAGE_TABLE_ID: u32 = 16;
69pub const INFORMATION_SCHEMA_OPTIMIZER_TRACE_TABLE_ID: u32 = 17;
71pub const INFORMATION_SCHEMA_PARAMETERS_TABLE_ID: u32 = 18;
73pub const INFORMATION_SCHEMA_PROFILING_TABLE_ID: u32 = 19;
75pub const INFORMATION_SCHEMA_REFERENTIAL_CONSTRAINTS_TABLE_ID: u32 = 20;
77pub const INFORMATION_SCHEMA_ROUTINES_TABLE_ID: u32 = 21;
79pub const INFORMATION_SCHEMA_SCHEMA_PRIVILEGES_TABLE_ID: u32 = 22;
81pub const INFORMATION_SCHEMA_TABLE_PRIVILEGES_TABLE_ID: u32 = 23;
83pub const INFORMATION_SCHEMA_TRIGGERS_TABLE_ID: u32 = 24;
85pub const INFORMATION_SCHEMA_GLOBAL_STATUS_TABLE_ID: u32 = 25;
87pub const INFORMATION_SCHEMA_SESSION_STATUS_TABLE_ID: u32 = 26;
89pub const INFORMATION_SCHEMA_PARTITIONS_TABLE_ID: u32 = 28;
91pub const INFORMATION_SCHEMA_REGION_PEERS_TABLE_ID: u32 = 29;
93pub const INFORMATION_SCHEMA_TABLE_CONSTRAINTS_TABLE_ID: u32 = 30;
95pub const INFORMATION_SCHEMA_CLUSTER_INFO_TABLE_ID: u32 = 31;
97pub const INFORMATION_SCHEMA_VIEW_TABLE_ID: u32 = 32;
99pub const INFORMATION_SCHEMA_FLOW_TABLE_ID: u32 = 33;
101pub const INFORMATION_SCHEMA_PROCEDURE_INFO_TABLE_ID: u32 = 34;
103pub const INFORMATION_SCHEMA_REGION_STATISTICS_TABLE_ID: u32 = 35;
105pub const INFORMATION_SCHEMA_PROCESS_LIST_TABLE_ID: u32 = 36;
107pub const INFORMATION_SCHEMA_SSTS_MANIFEST_TABLE_ID: u32 = 37;
109pub const INFORMATION_SCHEMA_SSTS_STORAGE_TABLE_ID: u32 = 38;
111pub const INFORMATION_SCHEMA_SSTS_INDEX_META_TABLE_ID: u32 = 39;
113pub const INFORMATION_SCHEMA_ALERTS_TABLE_ID: u32 = 40;
115pub const INFORMATION_SCHEMA_REGION_INFO_TABLE_ID: u32 = 41;
117pub const INFORMATION_SCHEMA_TABLE_SEMANTICS_TABLE_ID: u32 = 42;
119pub const INFORMATION_SCHEMA_STATISTICS_TABLE_ID: u32 = 43;
121
122pub const PG_CATALOG_TABLE_ID_START: u32 = 256;
126pub const MITO_ENGINE: &str = "mito";
130pub const MITO2_ENGINE: &str = "mito2";
131pub const METRIC_ENGINE: &str = "metric";
132
133pub fn default_engine() -> &'static str {
134 MITO_ENGINE
135}
136
137pub const FILE_ENGINE: &str = "file";
138
139pub const SEMANTIC_TYPE_PRIMARY_KEY: &str = "TAG";
140pub const SEMANTIC_TYPE_FIELD: &str = "FIELD";
141pub const SEMANTIC_TYPE_TIME_INDEX: &str = "TIMESTAMP";
142
143pub fn is_readonly_schema(schema: &str) -> bool {
144 matches!(schema, INFORMATION_SCHEMA_NAME)
145}
146
147pub const TRACE_ID_COLUMN: &str = "trace_id";
149pub const SPAN_ID_COLUMN: &str = "span_id";
150pub const SPAN_NAME_COLUMN: &str = "span_name";
151pub const SERVICE_NAME_COLUMN: &str = "service_name";
152pub const PARENT_SPAN_ID_COLUMN: &str = "parent_span_id";
153pub const TRACE_TABLE_NAME: &str = "opentelemetry_traces";
154pub const TRACE_TABLE_NAME_SESSION_KEY: &str = "trace_table_name";
155pub fn trace_services_table_name(trace_table_name: &str) -> String {
159 format!("{}_services", trace_table_name)
160}
161
162pub fn trace_operations_table_name(trace_table_name: &str) -> String {
164 format!("{}_operations", trace_table_name)
165}
166