File tree 2 files changed +27
-0
lines changed
2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -439,6 +439,17 @@ fn custom_handlers(node: &Node) -> TokenStream {
439
439
tokens. push( TokenProperty :: from( Token :: Or ) ) ;
440
440
tokens. push( TokenProperty :: from( Token :: Replace ) ) ;
441
441
}
442
+ if let Some ( n) = & n. view {
443
+ match n. relpersistence. as_str( ) {
444
+ // Permanent
445
+ "p" => { } ,
446
+ // Unlogged
447
+ "u" => tokens. push( TokenProperty :: from( Token :: Unlogged ) ) ,
448
+ // Temporary
449
+ "t" => tokens. push( TokenProperty :: from( Token :: Temporary ) ) ,
450
+ _ => panic!( "Unknown ViewStmt {:#?}" , n) ,
451
+ }
452
+ }
442
453
} ,
443
454
"CreateStmt" => quote ! {
444
455
tokens. push( TokenProperty :: from( Token :: Create ) ) ;
Original file line number Diff line number Diff line change @@ -105,4 +105,20 @@ mod tests {
105
105
] ,
106
106
)
107
107
}
108
+
109
+ #[ test]
110
+ fn test_create_view ( ) {
111
+ test_get_node_properties (
112
+ "create or replace temporary view comedies as select * from films;" ,
113
+ SyntaxKind :: ViewStmt ,
114
+ vec ! [
115
+ TokenProperty :: from( SyntaxKind :: Create ) ,
116
+ TokenProperty :: from( SyntaxKind :: View ) ,
117
+ TokenProperty :: from( SyntaxKind :: As ) ,
118
+ TokenProperty :: from( SyntaxKind :: Or ) ,
119
+ TokenProperty :: from( SyntaxKind :: Replace ) ,
120
+ TokenProperty :: from( SyntaxKind :: Temporary ) ,
121
+ ] ,
122
+ )
123
+ }
108
124
}
You can’t perform that action at this time.
0 commit comments