@@ -8367,16 +8367,18 @@ fn parse_offset() {
8367
8367
8368
8368
#[test]
8369
8369
fn parse_fetch() {
8370
+ let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>());
8371
+
8370
8372
let fetch_first_two_rows_only = Some(Fetch {
8371
8373
with_ties: false,
8372
8374
percent: false,
8373
8375
quantity: Some(Expr::value(number("2"))),
8374
8376
});
8375
- let ast = verified_query("SELECT foo FROM bar FETCH FIRST 2 ROWS ONLY");
8377
+ let ast = dialects. verified_query("SELECT foo FROM bar FETCH FIRST 2 ROWS ONLY");
8376
8378
assert_eq!(ast.fetch, fetch_first_two_rows_only);
8377
- let ast = verified_query("SELECT 'foo' FETCH FIRST 2 ROWS ONLY");
8379
+ let ast = dialects. verified_query("SELECT 'foo' FETCH FIRST 2 ROWS ONLY");
8378
8380
assert_eq!(ast.fetch, fetch_first_two_rows_only);
8379
- let ast = verified_query("SELECT foo FROM bar FETCH FIRST ROWS ONLY");
8381
+ let ast = dialects. verified_query("SELECT foo FROM bar FETCH FIRST ROWS ONLY");
8380
8382
assert_eq!(
8381
8383
ast.fetch,
8382
8384
Some(Fetch {
@@ -8385,11 +8387,11 @@ fn parse_fetch() {
8385
8387
quantity: None,
8386
8388
})
8387
8389
);
8388
- let ast = verified_query("SELECT foo FROM bar WHERE foo = 4 FETCH FIRST 2 ROWS ONLY");
8390
+ let ast = dialects. verified_query("SELECT foo FROM bar WHERE foo = 4 FETCH FIRST 2 ROWS ONLY");
8389
8391
assert_eq!(ast.fetch, fetch_first_two_rows_only);
8390
- let ast = verified_query("SELECT foo FROM bar ORDER BY baz FETCH FIRST 2 ROWS ONLY");
8392
+ let ast = dialects. verified_query("SELECT foo FROM bar ORDER BY baz FETCH FIRST 2 ROWS ONLY");
8391
8393
assert_eq!(ast.fetch, fetch_first_two_rows_only);
8392
- let ast = verified_query(
8394
+ let ast = dialects. verified_query(
8393
8395
"SELECT foo FROM bar WHERE foo = 4 ORDER BY baz FETCH FIRST 2 ROWS WITH TIES",
8394
8396
);
8395
8397
assert_eq!(
@@ -8400,7 +8402,7 @@ fn parse_fetch() {
8400
8402
quantity: Some(Expr::value(number("2"))),
8401
8403
})
8402
8404
);
8403
- let ast = verified_query("SELECT foo FROM bar FETCH FIRST 50 PERCENT ROWS ONLY");
8405
+ let ast = dialects. verified_query("SELECT foo FROM bar FETCH FIRST 50 PERCENT ROWS ONLY");
8404
8406
assert_eq!(
8405
8407
ast.fetch,
8406
8408
Some(Fetch {
@@ -8409,7 +8411,7 @@ fn parse_fetch() {
8409
8411
quantity: Some(Expr::value(number("50"))),
8410
8412
})
8411
8413
);
8412
- let ast = verified_query(
8414
+ let ast = dialects. verified_query(
8413
8415
"SELECT foo FROM bar WHERE foo = 4 ORDER BY baz OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY",
8414
8416
);
8415
8417
let expected_limit_clause = Some(LimitClause::LimitOffset {
@@ -8422,7 +8424,7 @@ fn parse_fetch() {
8422
8424
});
8423
8425
assert_eq!(ast.limit_clause, expected_limit_clause);
8424
8426
assert_eq!(ast.fetch, fetch_first_two_rows_only);
8425
- let ast = verified_query(
8427
+ let ast = dialects. verified_query(
8426
8428
"SELECT foo FROM (SELECT * FROM bar FETCH FIRST 2 ROWS ONLY) FETCH FIRST 2 ROWS ONLY",
8427
8429
);
8428
8430
assert_eq!(ast.fetch, fetch_first_two_rows_only);
@@ -8435,7 +8437,7 @@ fn parse_fetch() {
8435
8437
},
8436
8438
_ => panic!("Test broke"),
8437
8439
}
8438
- let ast = verified_query("SELECT foo FROM (SELECT * FROM bar OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY) OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY");
8440
+ let ast = dialects. verified_query("SELECT foo FROM (SELECT * FROM bar OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY) OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY");
8439
8441
let expected_limit_clause = &Some(LimitClause::LimitOffset {
8440
8442
limit: None,
8441
8443
offset: Some(Offset {
@@ -8460,23 +8462,24 @@ fn parse_fetch() {
8460
8462
8461
8463
#[test]
8462
8464
fn parse_fetch_variations() {
8463
- one_statement_parses_to(
8465
+ let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>());
8466
+ dialects.one_statement_parses_to(
8464
8467
"SELECT foo FROM bar FETCH FIRST 10 ROW ONLY",
8465
8468
"SELECT foo FROM bar FETCH FIRST 10 ROWS ONLY",
8466
8469
);
8467
- one_statement_parses_to(
8470
+ dialects. one_statement_parses_to(
8468
8471
"SELECT foo FROM bar FETCH NEXT 10 ROW ONLY",
8469
8472
"SELECT foo FROM bar FETCH FIRST 10 ROWS ONLY",
8470
8473
);
8471
- one_statement_parses_to(
8474
+ dialects. one_statement_parses_to(
8472
8475
"SELECT foo FROM bar FETCH NEXT 10 ROWS WITH TIES",
8473
8476
"SELECT foo FROM bar FETCH FIRST 10 ROWS WITH TIES",
8474
8477
);
8475
- one_statement_parses_to(
8478
+ dialects. one_statement_parses_to(
8476
8479
"SELECT foo FROM bar FETCH NEXT ROWS WITH TIES",
8477
8480
"SELECT foo FROM bar FETCH FIRST ROWS WITH TIES",
8478
8481
);
8479
- one_statement_parses_to(
8482
+ dialects. one_statement_parses_to(
8480
8483
"SELECT foo FROM bar FETCH FIRST ROWS ONLY",
8481
8484
"SELECT foo FROM bar FETCH FIRST ROWS ONLY",
8482
8485
);
0 commit comments