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