@@ -3090,6 +3090,7 @@ fn test_parentheses_overflow() {
30903090#[ test]
30913091fn test_show_databases ( ) {
30923092 snowflake ( ) . verified_stmt ( "SHOW DATABASES" ) ;
3093+ snowflake ( ) . verified_stmt ( "SHOW TERSE DATABASES" ) ;
30933094 snowflake ( ) . verified_stmt ( "SHOW DATABASES HISTORY" ) ;
30943095 snowflake ( ) . verified_stmt ( "SHOW DATABASES LIKE '%abc%'" ) ;
30953096 snowflake ( ) . verified_stmt ( "SHOW DATABASES STARTS WITH 'demo_db'" ) ;
@@ -3102,6 +3103,7 @@ fn test_show_databases() {
31023103#[ test]
31033104fn test_parse_show_schemas ( ) {
31043105 snowflake ( ) . verified_stmt ( "SHOW SCHEMAS" ) ;
3106+ snowflake ( ) . verified_stmt ( "SHOW TERSE SCHEMAS" ) ;
31053107 snowflake ( ) . verified_stmt ( "SHOW SCHEMAS IN ACCOUNT" ) ;
31063108 snowflake ( ) . verified_stmt ( "SHOW SCHEMAS IN ACCOUNT abc" ) ;
31073109 snowflake ( ) . verified_stmt ( "SHOW SCHEMAS IN DATABASE" ) ;
@@ -3111,9 +3113,51 @@ fn test_parse_show_schemas() {
31113113 snowflake ( ) . verified_stmt ( "SHOW SCHEMAS IN DATABASE STARTS WITH 'abc' LIMIT 20 FROM 'xyz'" ) ;
31123114}
31133115
3116+ #[ test]
3117+ fn test_parse_show_objects ( ) {
3118+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS" ) ;
3119+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS IN abc" ) ;
3120+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS LIKE '%test%' IN abc" ) ;
3121+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS IN ACCOUNT" ) ;
3122+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS IN DATABASE" ) ;
3123+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS IN DATABASE abc" ) ;
3124+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS IN SCHEMA" ) ;
3125+ snowflake ( ) . verified_stmt ( "SHOW OBJECTS IN SCHEMA abc" ) ;
3126+ snowflake ( ) . verified_stmt ( "SHOW TERSE OBJECTS" ) ;
3127+ snowflake ( ) . verified_stmt ( "SHOW TERSE OBJECTS IN abc" ) ;
3128+ snowflake ( ) . verified_stmt ( "SHOW TERSE OBJECTS LIKE '%test%' IN abc" ) ;
3129+ snowflake ( ) . verified_stmt ( "SHOW TERSE OBJECTS LIKE '%test%' IN abc STARTS WITH 'b'" ) ;
3130+ snowflake ( ) . verified_stmt ( "SHOW TERSE OBJECTS LIKE '%test%' IN abc STARTS WITH 'b' LIMIT 10" ) ;
3131+ snowflake ( )
3132+ . verified_stmt ( "SHOW TERSE OBJECTS LIKE '%test%' IN abc STARTS WITH 'b' LIMIT 10 FROM 'x'" ) ;
3133+ match snowflake ( ) . verified_stmt ( "SHOW TERSE OBJECTS LIKE '%test%' IN abc" ) {
3134+ Statement :: ShowObjects ( ShowObjects {
3135+ terse,
3136+ show_options,
3137+ } ) => {
3138+ assert ! ( terse) ;
3139+ let name = match show_options. show_in {
3140+ Some ( ShowStatementIn {
3141+ parent_name : Some ( val) ,
3142+ ..
3143+ } ) => val. to_string ( ) ,
3144+ _ => unreachable ! ( ) ,
3145+ } ;
3146+ assert_eq ! ( "abc" , name) ;
3147+ let like = match show_options. filter_position {
3148+ Some ( ShowStatementFilterPosition :: Infix ( ShowStatementFilter :: Like ( val) ) ) => val,
3149+ _ => unreachable ! ( ) ,
3150+ } ;
3151+ assert_eq ! ( "%test%" , like) ;
3152+ }
3153+ _ => unreachable ! ( ) ,
3154+ }
3155+ }
3156+
31143157#[ test]
31153158fn test_parse_show_tables ( ) {
31163159 snowflake ( ) . verified_stmt ( "SHOW TABLES" ) ;
3160+ snowflake ( ) . verified_stmt ( "SHOW TERSE TABLES" ) ;
31173161 snowflake ( ) . verified_stmt ( "SHOW TABLES IN ACCOUNT" ) ;
31183162 snowflake ( ) . verified_stmt ( "SHOW TABLES IN DATABASE" ) ;
31193163 snowflake ( ) . verified_stmt ( "SHOW TABLES IN DATABASE xyz" ) ;
@@ -3136,6 +3180,7 @@ fn test_parse_show_tables() {
31363180#[ test]
31373181fn test_show_views ( ) {
31383182 snowflake ( ) . verified_stmt ( "SHOW VIEWS" ) ;
3183+ snowflake ( ) . verified_stmt ( "SHOW TERSE VIEWS" ) ;
31393184 snowflake ( ) . verified_stmt ( "SHOW VIEWS IN ACCOUNT" ) ;
31403185 snowflake ( ) . verified_stmt ( "SHOW VIEWS IN DATABASE" ) ;
31413186 snowflake ( ) . verified_stmt ( "SHOW VIEWS IN DATABASE xyz" ) ;
0 commit comments