File tree 3 files changed +30
-0
lines changed
tests/data/statements/valid
3 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -668,6 +668,17 @@ fn custom_handlers(node: &Node) -> TokenStream {
668
668
_ => panic!( "Unknown IndexElem {:#?}" , n. nulls_ordering( ) ) ,
669
669
}
670
670
} ,
671
+ "CreateTableSpaceStmt" => quote ! {
672
+ tokens. push( TokenProperty :: from( Token :: Create ) ) ;
673
+ tokens. push( TokenProperty :: from( Token :: Tablespace ) ) ;
674
+ tokens. push( TokenProperty :: from( Token :: Location ) ) ;
675
+ if n. owner. is_some( ) {
676
+ tokens. push( TokenProperty :: from( Token :: Owner ) ) ;
677
+ }
678
+ if n. options. len( ) > 0 {
679
+ tokens. push( TokenProperty :: from( Token :: With ) ) ;
680
+ }
681
+ } ,
671
682
_ => quote ! { } ,
672
683
}
673
684
}
Original file line number Diff line number Diff line change @@ -239,4 +239,21 @@ mod tests {
239
239
] ,
240
240
)
241
241
}
242
+
243
+ #[ test]
244
+ fn test_create_tablespace ( ) {
245
+ test_get_node_properties (
246
+ "create tablespace x owner a location 'b' with (seq_page_cost=3);" ,
247
+ SyntaxKind :: CreateTableSpaceStmt ,
248
+ vec ! [
249
+ TokenProperty :: from( SyntaxKind :: Create ) ,
250
+ TokenProperty :: from( SyntaxKind :: Tablespace ) ,
251
+ TokenProperty :: from( SyntaxKind :: Location ) ,
252
+ TokenProperty :: from( SyntaxKind :: Owner ) ,
253
+ TokenProperty :: from( SyntaxKind :: With ) ,
254
+ TokenProperty :: from( "x" . to_string( ) ) ,
255
+ TokenProperty :: from( "b" . to_string( ) ) ,
256
+ ] ,
257
+ )
258
+ }
242
259
}
Original file line number Diff line number Diff line change
1
+ CREATE TABLESPACE x LOCATION ' a' ;
2
+ CREATE TABLESPACE x OWNER a LOCATION ' b' WITH (random_page_cost= 42 , seq_page_cost= 3 );
You can’t perform that action at this time.
0 commit comments