@@ -8367,16 +8367,18 @@ fn parse_offset() {
83678367
83688368#[test]
83698369fn parse_fetch() {
8370+ let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>());
8371+
83708372 let fetch_first_two_rows_only = Some(Fetch {
83718373 with_ties: false,
83728374 percent: false,
83738375 quantity: Some(Expr::value(number("2"))),
83748376 });
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");
83768378 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");
83788380 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");
83808382 assert_eq!(
83818383 ast.fetch,
83828384 Some(Fetch {
@@ -8385,11 +8387,11 @@ fn parse_fetch() {
83858387 quantity: None,
83868388 })
83878389 );
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");
83898391 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");
83918393 assert_eq!(ast.fetch, fetch_first_two_rows_only);
8392- let ast = verified_query(
8394+ let ast = dialects. verified_query(
83938395 "SELECT foo FROM bar WHERE foo = 4 ORDER BY baz FETCH FIRST 2 ROWS WITH TIES",
83948396 );
83958397 assert_eq!(
@@ -8400,7 +8402,7 @@ fn parse_fetch() {
84008402 quantity: Some(Expr::value(number("2"))),
84018403 })
84028404 );
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");
84048406 assert_eq!(
84058407 ast.fetch,
84068408 Some(Fetch {
@@ -8409,7 +8411,7 @@ fn parse_fetch() {
84098411 quantity: Some(Expr::value(number("50"))),
84108412 })
84118413 );
8412- let ast = verified_query(
8414+ let ast = dialects. verified_query(
84138415 "SELECT foo FROM bar WHERE foo = 4 ORDER BY baz OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY",
84148416 );
84158417 let expected_limit_clause = Some(LimitClause::LimitOffset {
@@ -8422,7 +8424,7 @@ fn parse_fetch() {
84228424 });
84238425 assert_eq!(ast.limit_clause, expected_limit_clause);
84248426 assert_eq!(ast.fetch, fetch_first_two_rows_only);
8425- let ast = verified_query(
8427+ let ast = dialects. verified_query(
84268428 "SELECT foo FROM (SELECT * FROM bar FETCH FIRST 2 ROWS ONLY) FETCH FIRST 2 ROWS ONLY",
84278429 );
84288430 assert_eq!(ast.fetch, fetch_first_two_rows_only);
@@ -8435,7 +8437,7 @@ fn parse_fetch() {
84358437 },
84368438 _ => panic!("Test broke"),
84378439 }
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");
84398441 let expected_limit_clause = &Some(LimitClause::LimitOffset {
84408442 limit: None,
84418443 offset: Some(Offset {
@@ -8460,23 +8462,24 @@ fn parse_fetch() {
84608462
84618463#[test]
84628464fn parse_fetch_variations() {
8463- one_statement_parses_to(
8465+ let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>());
8466+ dialects.one_statement_parses_to(
84648467 "SELECT foo FROM bar FETCH FIRST 10 ROW ONLY",
84658468 "SELECT foo FROM bar FETCH FIRST 10 ROWS ONLY",
84668469 );
8467- one_statement_parses_to(
8470+ dialects. one_statement_parses_to(
84688471 "SELECT foo FROM bar FETCH NEXT 10 ROW ONLY",
84698472 "SELECT foo FROM bar FETCH FIRST 10 ROWS ONLY",
84708473 );
8471- one_statement_parses_to(
8474+ dialects. one_statement_parses_to(
84728475 "SELECT foo FROM bar FETCH NEXT 10 ROWS WITH TIES",
84738476 "SELECT foo FROM bar FETCH FIRST 10 ROWS WITH TIES",
84748477 );
8475- one_statement_parses_to(
8478+ dialects. one_statement_parses_to(
84768479 "SELECT foo FROM bar FETCH NEXT ROWS WITH TIES",
84778480 "SELECT foo FROM bar FETCH FIRST ROWS WITH TIES",
84788481 );
8479- one_statement_parses_to(
8482+ dialects. one_statement_parses_to(
84808483 "SELECT foo FROM bar FETCH FIRST ROWS ONLY",
84818484 "SELECT foo FROM bar FETCH FIRST ROWS ONLY",
84828485 );
0 commit comments