From 66dce8d627f9773eee2c4e6f6544a5b5c8c67259 Mon Sep 17 00:00:00 2001 From: osipovartem Date: Sat, 12 Sep 2026 23:21:04 +0300 Subject: [PATCH] Snowflake: parse ORDER BY ALL --- src/dialect/snowflake.rs | 5 +++++ tests/sqlparser_snowflake.rs | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/dialect/snowflake.rs b/src/dialect/snowflake.rs index 0bedb12a55..d21f88bdcd 100644 --- a/src/dialect/snowflake.rs +++ b/src/dialect/snowflake.rs @@ -153,6 +153,11 @@ impl Dialect for SnowflakeDialect { true } + /// See + fn supports_order_by_all(&self) -> bool { + true + } + // Snowflake supports double-dot notation when the schema name is not specified // In this case the default PUBLIC schema is used // diff --git a/tests/sqlparser_snowflake.rs b/tests/sqlparser_snowflake.rs index 059560dcc9..ed7f81ece7 100644 --- a/tests/sqlparser_snowflake.rs +++ b/tests/sqlparser_snowflake.rs @@ -44,6 +44,19 @@ fn test_snowflake_create_table() { } } +#[test] +fn parse_order_by_all() { + let query = snowflake() + .verified_query("SELECT value + 1 AS computed FROM source ORDER BY ALL DESC NULLS FIRST"); + assert_eq!( + query.order_by.expect("ORDER BY expected").kind, + OrderByKind::All(OrderByOptions { + sort: Some(OrderBySort::Desc), + nulls_first: Some(true), + }) + ); +} + #[test] fn parse_sf_create_secure_view_and_materialized_view() { for sql in [