File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed
Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -469,7 +469,6 @@ pub fn parse_create_table(
469469 Keyword :: AS => {
470470 let query = parser. parse_query ( ) ?;
471471 builder = builder. query ( Some ( query) ) ;
472- break ;
473472 }
474473 Keyword :: CLONE => {
475474 let clone = parser. parse_object_name ( false ) . ok ( ) ;
@@ -605,7 +604,7 @@ pub fn parse_create_table(
605604 builder = builder. columns ( columns) . constraints ( constraints) ;
606605 }
607606 Token :: EOF => {
608- if builder. columns . is_empty ( ) {
607+ if builder. columns . is_empty ( ) && builder . query . is_none ( ) {
609608 return Err ( ParserError :: ParserError (
610609 "unexpected end of input" . to_string ( ) ,
611610 ) ) ;
@@ -614,7 +613,7 @@ pub fn parse_create_table(
614613 break ;
615614 }
616615 Token :: SemiColon => {
617- if builder. columns . is_empty ( ) {
616+ if builder. columns . is_empty ( ) && builder . query . is_none ( ) {
618617 return Err ( ParserError :: ParserError (
619618 "unexpected end of input" . to_string ( ) ,
620619 ) ) ;
Original file line number Diff line number Diff line change @@ -995,6 +995,16 @@ fn test_snowflake_create_iceberg_table_without_location() {
995995 ) ;
996996}
997997
998+ #[ test]
999+ fn test_snowflake_create_table_as ( ) {
1000+ // Test additional options after AS (query)
1001+ snowflake ( )
1002+ . parse_sql_statements (
1003+ "CREATE TEMP TABLE dst AS (SELECT * FROM src) ON COMMIT PRESERVE ROWS" ,
1004+ )
1005+ . unwrap ( ) ;
1006+ }
1007+
9981008#[ test]
9991009fn parse_sf_create_or_replace_view_with_comment_missing_equal ( ) {
10001010 assert ! ( snowflake_and_generic( )
You can’t perform that action at this time.
0 commit comments