@@ -8369,16 +8369,18 @@ fn parse_offset() {
83698369
83708370#[test]
83718371fn parse_fetch() {
8372+ let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>());
8373+
83728374 let fetch_first_two_rows_only = Some(Fetch {
83738375 with_ties: false,
83748376 percent: false,
83758377 quantity: Some(Expr::value(number("2"))),
83768378 });
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");
83788380 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");
83808382 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");
83828384 assert_eq!(
83838385 ast.fetch,
83848386 Some(Fetch {
@@ -8387,11 +8389,11 @@ fn parse_fetch() {
83878389 quantity: None,
83888390 })
83898391 );
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");
83918393 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");
83938395 assert_eq!(ast.fetch, fetch_first_two_rows_only);
8394- let ast = verified_query(
8396+ let ast = dialects. verified_query(
83958397 "SELECT foo FROM bar WHERE foo = 4 ORDER BY baz FETCH FIRST 2 ROWS WITH TIES",
83968398 );
83978399 assert_eq!(
@@ -8402,7 +8404,7 @@ fn parse_fetch() {
84028404 quantity: Some(Expr::value(number("2"))),
84038405 })
84048406 );
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");
84068408 assert_eq!(
84078409 ast.fetch,
84088410 Some(Fetch {
@@ -8411,7 +8413,7 @@ fn parse_fetch() {
84118413 quantity: Some(Expr::value(number("50"))),
84128414 })
84138415 );
8414- let ast = verified_query(
8416+ let ast = dialects. verified_query(
84158417 "SELECT foo FROM bar WHERE foo = 4 ORDER BY baz OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY",
84168418 );
84178419 let expected_limit_clause = Some(LimitClause::LimitOffset {
@@ -8424,7 +8426,7 @@ fn parse_fetch() {
84248426 });
84258427 assert_eq!(ast.limit_clause, expected_limit_clause);
84268428 assert_eq!(ast.fetch, fetch_first_two_rows_only);
8427- let ast = verified_query(
8429+ let ast = dialects. verified_query(
84288430 "SELECT foo FROM (SELECT * FROM bar FETCH FIRST 2 ROWS ONLY) FETCH FIRST 2 ROWS ONLY",
84298431 );
84308432 assert_eq!(ast.fetch, fetch_first_two_rows_only);
@@ -8437,7 +8439,7 @@ fn parse_fetch() {
84378439 },
84388440 _ => panic!("Test broke"),
84398441 }
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");
84418443 let expected_limit_clause = &Some(LimitClause::LimitOffset {
84428444 limit: None,
84438445 offset: Some(Offset {
@@ -8462,23 +8464,24 @@ fn parse_fetch() {
84628464
84638465#[test]
84648466fn parse_fetch_variations() {
8465- one_statement_parses_to(
8467+ let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>());
8468+ dialects.one_statement_parses_to(
84668469 "SELECT foo FROM bar FETCH FIRST 10 ROW ONLY",
84678470 "SELECT foo FROM bar FETCH FIRST 10 ROWS ONLY",
84688471 );
8469- one_statement_parses_to(
8472+ dialects. one_statement_parses_to(
84708473 "SELECT foo FROM bar FETCH NEXT 10 ROW ONLY",
84718474 "SELECT foo FROM bar FETCH FIRST 10 ROWS ONLY",
84728475 );
8473- one_statement_parses_to(
8476+ dialects. one_statement_parses_to(
84748477 "SELECT foo FROM bar FETCH NEXT 10 ROWS WITH TIES",
84758478 "SELECT foo FROM bar FETCH FIRST 10 ROWS WITH TIES",
84768479 );
8477- one_statement_parses_to(
8480+ dialects. one_statement_parses_to(
84788481 "SELECT foo FROM bar FETCH NEXT ROWS WITH TIES",
84798482 "SELECT foo FROM bar FETCH FIRST ROWS WITH TIES",
84808483 );
8481- one_statement_parses_to(
8484+ dialects. one_statement_parses_to(
84828485 "SELECT foo FROM bar FETCH FIRST ROWS ONLY",
84838486 "SELECT foo FROM bar FETCH FIRST ROWS ONLY",
84848487 );
0 commit comments