File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 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 {
439439 tokens. push( TokenProperty :: from( Token :: Or ) ) ;
440440 tokens. push( TokenProperty :: from( Token :: Replace ) ) ;
441441 }
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+ }
442453 } ,
443454 "CreateStmt" => quote ! {
444455 tokens. push( TokenProperty :: from( Token :: Create ) ) ;
Original file line number Diff line number Diff line change @@ -124,4 +124,20 @@ mod tests {
124124 ] ,
125125 )
126126 }
127+
128+ #[ test]
129+ fn test_create_view ( ) {
130+ test_get_node_properties (
131+ "create or replace temporary view comedies as select * from films;" ,
132+ SyntaxKind :: ViewStmt ,
133+ vec ! [
134+ TokenProperty :: from( SyntaxKind :: Create ) ,
135+ TokenProperty :: from( SyntaxKind :: View ) ,
136+ TokenProperty :: from( SyntaxKind :: As ) ,
137+ TokenProperty :: from( SyntaxKind :: Or ) ,
138+ TokenProperty :: from( SyntaxKind :: Replace ) ,
139+ TokenProperty :: from( SyntaxKind :: Temporary ) ,
140+ ] ,
141+ )
142+ }
127143}
You can’t perform that action at this time.
0 commit comments