@@ -20,7 +20,7 @@ use sqlparser::ast::{
2020 SelectItem , Statement , TableFactor , UnaryOperator , Value ,
2121} ;
2222use sqlparser:: dialect:: { GenericDialect , HiveDialect } ;
23- use sqlparser:: parser:: ParserError ;
23+ use sqlparser:: parser:: { ParserError , ParserOptions } ;
2424use sqlparser:: test_utils:: * ;
2525
2626#[ test]
@@ -32,6 +32,20 @@ fn parse_table_create() {
3232 hive ( ) . verified_stmt ( iof) ;
3333}
3434
35+ fn generic ( options : Option < ParserOptions > ) -> TestedDialects {
36+ TestedDialects {
37+ dialects : vec ! [ Box :: new( GenericDialect { } ) ] ,
38+ options,
39+ }
40+ }
41+
42+ #[ test]
43+ fn parse_describe ( ) {
44+ let describe = r#"DESCRIBE namespace.`table`"# ;
45+ hive ( ) . verified_stmt ( describe) ;
46+ generic ( None ) . verified_stmt ( describe) ;
47+ }
48+
3549#[ test]
3650fn parse_insert_overwrite ( ) {
3751 let insert_partitions = r#"INSERT OVERWRITE TABLE db.new_table PARTITION (a = '1', b) SELECT a, b, c FROM db.table"# ;
@@ -265,13 +279,8 @@ fn parse_create_function() {
265279 _ => unreachable ! ( ) ,
266280 }
267281
268- let generic = TestedDialects {
269- dialects : vec ! [ Box :: new( GenericDialect { } ) ] ,
270- options : None ,
271- } ;
272-
273282 assert_eq ! (
274- generic. parse_sql_statements( sql) . unwrap_err( ) ,
283+ generic( None ) . parse_sql_statements( sql) . unwrap_err( ) ,
275284 ParserError :: ParserError (
276285 "Expected an object type after CREATE, found: FUNCTION" . to_string( )
277286 )
0 commit comments