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 @@ -124,4 +124,20 @@ mod tests {
124
124
] ,
125
125
)
126
126
}
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
+ }
127
143
}
You can’t perform that action at this time.
0 commit comments