From e6a56461e0132ddc6578894bf2f843626c2ef94f Mon Sep 17 00:00:00 2001 From: osipovartem Date: Mon, 7 Sep 2026 21:06:43 +0300 Subject: [PATCH] Match Snowflake QUALIFY validation error --- datafusion/sql/src/select.rs | 8 ++------ datafusion/sql/tests/sql_integration.rs | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/datafusion/sql/src/select.rs b/datafusion/sql/src/select.rs index 4aa62a188b19..544b54bf5903 100644 --- a/datafusion/sql/src/select.rs +++ b/datafusion/sql/src/select.rs @@ -575,9 +575,7 @@ impl SqlToRel<'_, S> { let plan = if let Some(qualify_expr) = qualify_expr_post_aggr { if plan_nested_windows { if !qualify_had_window_functions { - return plan_err!( - "QUALIFY clause requires window functions in the SELECT list or QUALIFY clause" - ); + return plan_err!("found QUALIFY clause but no window function."); } self.validate_schema_satisfies_exprs( plan.schema(), @@ -594,9 +592,7 @@ impl SqlToRel<'_, S> { .chain(std::iter::once(&qualify_expr)), ); if qualify_window_func_exprs.is_empty() { - return plan_err!( - "QUALIFY clause requires window functions in the SELECT list or QUALIFY clause" - ); + return plan_err!("found QUALIFY clause but no window function."); } // now attempt to resolve columns and replace with fully-qualified columns diff --git a/datafusion/sql/tests/sql_integration.rs b/datafusion/sql/tests/sql_integration.rs index 275332a73678..55303e08f5ba 100644 --- a/datafusion/sql/tests/sql_integration.rs +++ b/datafusion/sql/tests/sql_integration.rs @@ -5218,7 +5218,7 @@ fn test_select_qualify_without_window_function() { let err = logical_plan(sql).unwrap_err(); assert_eq!( err.strip_backtrace(), - "Error during planning: QUALIFY clause requires window functions in the SELECT list or QUALIFY clause" + "Error during planning: found QUALIFY clause but no window function." ); } @@ -5228,7 +5228,7 @@ fn test_select_qualify_without_window_function_but_window_in_order_by() { let err = logical_plan(sql).unwrap_err(); assert_eq!( err.strip_backtrace(), - "Error during planning: QUALIFY clause requires window functions in the SELECT list or QUALIFY clause" + "Error during planning: found QUALIFY clause but no window function." ); }