@@ -2,17 +2,6 @@ use std::sync::Arc;
22
33use datafusion:: datasource:: { self , TableProvider } ;
44
5- use super :: information_schema:: mysql:: {
6- collations:: InfoSchemaCollationsProvider as MySqlSchemaCollationsProvider ,
7- columns:: InfoSchemaColumnsProvider as MySqlSchemaColumnsProvider ,
8- key_column_usage:: InfoSchemaKeyColumnUsageProvider as MySqlSchemaKeyColumnUsageProvider ,
9- processlist:: InfoSchemaProcesslistProvider as MySqlSchemaProcesslistProvider ,
10- referential_constraints:: InfoSchemaReferentialConstraintsProvider as MySqlSchemaReferentialConstraintsProvider ,
11- schemata:: InfoSchemaSchemataProvider as MySqlSchemaSchemataProvider ,
12- statistics:: InfoSchemaStatisticsProvider as MySqlSchemaStatisticsProvider ,
13- tables:: InfoSchemaTableProvider as MySqlSchemaTableProvider ,
14- variables:: PerfSchemaVariablesProvider as MySqlPerfSchemaVariablesProvider ,
15- } ;
165use crate :: {
176 compile:: {
187 engine:: { CubeContext , CubeTableProvider , TableName } ,
@@ -29,24 +18,6 @@ impl DatabaseProtocol {
2918 let any = table_provider. as_any ( ) ;
3019 Ok ( if let Some ( t) = any. downcast_ref :: < CubeTableProvider > ( ) {
3120 t. table_name ( ) . to_string ( )
32- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaTableProvider > ( ) {
33- t. table_name ( ) . to_string ( )
34- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaColumnsProvider > ( ) {
35- t. table_name ( ) . to_string ( )
36- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaStatisticsProvider > ( ) {
37- t. table_name ( ) . to_string ( )
38- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaKeyColumnUsageProvider > ( ) {
39- t. table_name ( ) . to_string ( )
40- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaSchemataProvider > ( ) {
41- t. table_name ( ) . to_string ( )
42- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaReferentialConstraintsProvider > ( ) {
43- t. table_name ( ) . to_string ( )
44- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaCollationsProvider > ( ) {
45- t. table_name ( ) . to_string ( )
46- } else if let Some ( t) = any. downcast_ref :: < MySqlPerfSchemaVariablesProvider > ( ) {
47- t. table_name ( ) . to_string ( )
48- } else if let Some ( t) = any. downcast_ref :: < MySqlSchemaProcesslistProvider > ( ) {
49- t. table_name ( ) . to_string ( )
5021 } else {
5122 return Err ( CubeError :: internal ( format ! (
5223 "Unknown table provider with schema: {:?}" ,
@@ -88,51 +59,6 @@ impl DatabaseProtocol {
8859 return None ;
8960 }
9061 }
91- "information_schema" => match table. as_str ( ) {
92- "tables" => {
93- return Some ( Arc :: new ( MySqlSchemaTableProvider :: new (
94- context. meta . clone ( ) ,
95- ) ) )
96- }
97- "columns" => {
98- return Some ( Arc :: new ( MySqlSchemaColumnsProvider :: new (
99- context. meta . clone ( ) ,
100- ) ) )
101- }
102- "statistics" => return Some ( Arc :: new ( MySqlSchemaStatisticsProvider :: new ( ) ) ) ,
103- "key_column_usage" => {
104- return Some ( Arc :: new ( MySqlSchemaKeyColumnUsageProvider :: new ( ) ) )
105- }
106- "schemata" => return Some ( Arc :: new ( MySqlSchemaSchemataProvider :: new ( ) ) ) ,
107- "processlist" => {
108- return Some ( Arc :: new ( MySqlSchemaProcesslistProvider :: new (
109- context. sessions . clone ( ) ,
110- ) ) )
111- }
112- "referential_constraints" => {
113- return Some ( Arc :: new ( MySqlSchemaReferentialConstraintsProvider :: new ( ) ) )
114- }
115- "collations" => return Some ( Arc :: new ( MySqlSchemaCollationsProvider :: new ( ) ) ) ,
116- _ => return None ,
117- } ,
118- "performance_schema" => match table. as_str ( ) {
119- "global_variables" => {
120- return Some ( Arc :: new ( MySqlPerfSchemaVariablesProvider :: new (
121- "performance_schema.global_variables" . to_string ( ) ,
122- context
123- . sessions
124- . server
125- . all_variables ( context. session_state . protocol . clone ( ) ) ,
126- ) ) )
127- }
128- "session_variables" => {
129- return Some ( Arc :: new ( MySqlPerfSchemaVariablesProvider :: new (
130- "performance_schema.session_variables" . to_string ( ) ,
131- context. session_state . all_variables ( ) ,
132- ) ) )
133- }
134- _ => return None ,
135- } ,
13662 _ => return None ,
13763 }
13864 }
0 commit comments