@@ -2266,6 +2266,7 @@ impl<'a> Parser<'a> {
2266
2266
let or_replace = self . parse_keywords ( & [ Keyword :: OR , Keyword :: REPLACE ] ) ;
2267
2267
let local = self . parse_one_of_keywords ( & [ Keyword :: LOCAL ] ) . is_some ( ) ;
2268
2268
let global = self . parse_one_of_keywords ( & [ Keyword :: GLOBAL ] ) . is_some ( ) ;
2269
+ let transient = self . parse_one_of_keywords ( & [ Keyword :: TRANSIENT ] ) . is_some ( ) ;
2269
2270
let global: Option < bool > = if global {
2270
2271
Some ( true )
2271
2272
} else if local {
@@ -2277,7 +2278,7 @@ impl<'a> Parser<'a> {
2277
2278
. parse_one_of_keywords ( & [ Keyword :: TEMP , Keyword :: TEMPORARY ] )
2278
2279
. is_some ( ) ;
2279
2280
if self . parse_keyword ( Keyword :: TABLE ) {
2280
- self . parse_create_table ( or_replace, temporary, global)
2281
+ self . parse_create_table ( or_replace, temporary, global, transient )
2281
2282
} else if self . parse_keyword ( Keyword :: MATERIALIZED ) || self . parse_keyword ( Keyword :: VIEW ) {
2282
2283
self . prev_token ( ) ;
2283
2284
self . parse_create_view ( or_replace)
@@ -3248,6 +3249,7 @@ impl<'a> Parser<'a> {
3248
3249
or_replace : bool ,
3249
3250
temporary : bool ,
3250
3251
global : Option < bool > ,
3252
+ transient : bool ,
3251
3253
) -> Result < Statement , ParserError > {
3252
3254
let if_not_exists = self . parse_keywords ( & [ Keyword :: IF , Keyword :: NOT , Keyword :: EXISTS ] ) ;
3253
3255
let table_name = self . parse_object_name ( ) ?;
@@ -3352,6 +3354,7 @@ impl<'a> Parser<'a> {
3352
3354
. table_properties ( table_properties)
3353
3355
. or_replace ( or_replace)
3354
3356
. if_not_exists ( if_not_exists)
3357
+ . transient ( transient)
3355
3358
. hive_distribution ( hive_distribution)
3356
3359
. hive_formats ( Some ( hive_formats) )
3357
3360
. global ( global)
0 commit comments