From 7e7e05bc2f11d1cb9149b7c50009c253152f3347 Mon Sep 17 00:00:00 2001 From: Alexander Beedie Date: Thu, 19 Feb 2026 10:54:02 +0400 Subject: [PATCH] Resolve breaking change that set "supports_lambda_functions" on `GenericDialect` --- src/dialect/generic.rs | 4 ---- tests/sqlparser_common.rs | 1 + tests/sqlparser_duckdb.rs | 8 ++++---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/dialect/generic.rs b/src/dialect/generic.rs index 5e929d738..1cf195e63 100644 --- a/src/dialect/generic.rs +++ b/src/dialect/generic.rs @@ -225,10 +225,6 @@ impl Dialect for GenericDialect { true } - fn supports_lambda_functions(&self) -> bool { - true - } - fn supports_select_wildcard_replace(&self) -> bool { true } diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 182854d13..4f01ea0ce 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -1663,6 +1663,7 @@ fn parse_json_ops_without_colon() { Arrow, all_dialects_except(|d| d.supports_lambda_functions()), ), + ("->", Arrow, pg_and_generic()), ("->>", LongArrow, all_dialects()), ("#>", HashArrow, pg_and_generic()), ("#>>", HashLongArrow, pg_and_generic()), diff --git a/tests/sqlparser_duckdb.rs b/tests/sqlparser_duckdb.rs index b9ae26491..91eb2799c 100644 --- a/tests/sqlparser_duckdb.rs +++ b/tests/sqlparser_duckdb.rs @@ -882,17 +882,17 @@ fn parse_extract_single_quotes() { fn test_duckdb_lambda_function() { // Test basic lambda with list_filter let sql = "SELECT [3, 4, 5, 6].list_filter(lambda x : x > 4)"; - duckdb_and_generic().verified_stmt(sql); + duckdb().verified_stmt(sql); // Test lambda with arrow syntax (also supported by DuckDB) let sql_arrow = "SELECT list_filter([1, 2, 3], x -> x > 1)"; - duckdb_and_generic().verified_stmt(sql_arrow); + duckdb().verified_stmt(sql_arrow); // Test lambda with multiple parameters (with index) let sql_multi = "SELECT list_filter([1, 3, 1, 5], lambda x, i : x > i)"; - duckdb_and_generic().verified_stmt(sql_multi); + duckdb().verified_stmt(sql_multi); // Test lambda in list_transform let sql_transform = "SELECT list_transform([1, 2, 3], lambda x : x * 2)"; - duckdb_and_generic().verified_stmt(sql_transform); + duckdb().verified_stmt(sql_transform); }