File tree 3 files changed +24
-11
lines changed
3 files changed +24
-11
lines changed Original file line number Diff line number Diff line change @@ -7274,7 +7274,7 @@ impl<'a> Parser<'a> {
7274
7274
let placeholder = tok. to_string ( ) + & ident. value ;
7275
7275
Ok ( Value :: Placeholder ( placeholder) )
7276
7276
}
7277
- tok @ Token :: Minus => {
7277
+ tok @ Token :: Minus | tok @ Token :: Plus => {
7278
7278
let next_token = self . next_token ( ) ;
7279
7279
match next_token. token {
7280
7280
Token :: Number ( n, l) => Ok ( Value :: Number (
Original file line number Diff line number Diff line change @@ -2819,6 +2819,29 @@ fn parse_window_function_null_treatment_arg() {
2819
2819
) ;
2820
2820
}
2821
2821
2822
+ #[ test]
2823
+ fn parse_signed_value ( ) {
2824
+ let sql1 = "CREATE SEQUENCE name1
2825
+ AS BIGINT
2826
+ INCREMENT -15
2827
+ MINVALUE - 2000 MAXVALUE -50
2828
+ START WITH - 60" ;
2829
+ one_statement_parses_to (
2830
+ sql1,
2831
+ "CREATE SEQUENCE name1 AS BIGINT INCREMENT -15 MINVALUE -2000 MAXVALUE -50 START WITH -60" ,
2832
+ ) ;
2833
+
2834
+ let sql2 = "CREATE SEQUENCE name2
2835
+ AS BIGINT
2836
+ INCREMENT +10
2837
+ MINVALUE + 30 MAXVALUE +5000
2838
+ START WITH + 45" ;
2839
+ one_statement_parses_to (
2840
+ sql2,
2841
+ "CREATE SEQUENCE name2 AS BIGINT INCREMENT +10 MINVALUE +30 MAXVALUE +5000 START WITH +45" ,
2842
+ ) ;
2843
+ }
2844
+
2822
2845
#[ test]
2823
2846
fn parse_create_table ( ) {
2824
2847
let sql = "CREATE TABLE uk_cities (\
Original file line number Diff line number Diff line change @@ -277,16 +277,6 @@ fn parse_create_sequence() {
277
277
"CREATE TEMPORARY SEQUENCE IF NOT EXISTS name3 INCREMENT 1 NO MINVALUE MAXVALUE 20 OWNED BY NONE" ,
278
278
) ;
279
279
280
- let sql7 = "CREATE SEQUENCE name4
281
- AS BIGINT
282
- INCREMENT -10
283
- MINVALUE - 2000 MAXVALUE -5
284
- START WITH - 20" ;
285
- pg ( ) . one_statement_parses_to (
286
- sql7,
287
- "CREATE SEQUENCE name4 AS BIGINT INCREMENT -10 MINVALUE -2000 MAXVALUE -5 START WITH -20" ,
288
- ) ;
289
-
290
280
assert ! ( matches!(
291
281
pg( ) . parse_sql_statements( "CREATE SEQUENCE foo INCREMENT 1 NO MINVALUE NO" ) ,
292
282
Err ( ParserError :: ParserError ( _) )
You can’t perform that action at this time.
0 commit comments