File tree Expand file tree Collapse file tree 2 files changed +14
-10
lines changed Expand file tree Collapse file tree 2 files changed +14
-10
lines changed Original file line number Diff line number Diff line change @@ -3739,10 +3739,16 @@ impl<'a> Parser<'a> {
3739
3739
let full = self . parse_keyword ( Keyword :: FULL ) ;
3740
3740
self . expect_one_of_keywords ( & [ Keyword :: COLUMNS , Keyword :: FIELDS ] ) ?;
3741
3741
self . expect_one_of_keywords ( & [ Keyword :: FROM , Keyword :: IN ] ) ?;
3742
- let table_name = self . parse_object_name ( ) ?;
3743
- // MySQL also supports FROM <database> here. In other words, MySQL
3744
- // allows both FROM <table> FROM <database> and FROM <database>.<table>,
3745
- // while we only support the latter for now.
3742
+ let object_name = self . parse_object_name ( ) ?;
3743
+ let table_name = match self . parse_one_of_keywords ( & [ Keyword :: FROM , Keyword :: IN ] ) {
3744
+ Some ( _) => {
3745
+ let db_name = vec ! [ self . parse_identifier( ) ?] ;
3746
+ let ObjectName ( table_name) = object_name;
3747
+ let object_name = db_name. into_iter ( ) . chain ( table_name. into_iter ( ) ) . collect ( ) ;
3748
+ ObjectName ( object_name)
3749
+ }
3750
+ None => object_name,
3751
+ } ;
3746
3752
let filter = self . parse_show_statement_filter ( ) ?;
3747
3753
Ok ( Statement :: ShowColumns {
3748
3754
extended,
Original file line number Diff line number Diff line change @@ -110,12 +110,10 @@ fn parse_show_columns() {
110
110
. one_statement_parses_to ( "SHOW COLUMNS IN mytable" , "SHOW COLUMNS FROM mytable" ) ;
111
111
mysql_and_generic ( )
112
112
. one_statement_parses_to ( "SHOW FIELDS IN mytable" , "SHOW COLUMNS FROM mytable" ) ;
113
-
114
- // unhandled things are truly unhandled
115
- match mysql_and_generic ( ) . parse_sql_statements ( "SHOW COLUMNS FROM mytable FROM mydb" ) {
116
- Err ( _) => { }
117
- Ok ( val) => panic ! ( "unexpected successful parse: {:?}" , val) ,
118
- }
113
+ mysql_and_generic ( ) . one_statement_parses_to (
114
+ "SHOW COLUMNS FROM mytable FROM mydb" ,
115
+ "SHOW COLUMNS FROM mydb.mytable" ,
116
+ ) ;
119
117
}
120
118
121
119
#[ test]
You can’t perform that action at this time.
0 commit comments