From 1c2a2d7c9bb04c69e2c34efd277bb6c100fdb0d8 Mon Sep 17 00:00:00 2001 From: fivetran-amrutabhimsenayachit Date: Thu, 9 Oct 2025 12:14:11 -0400 Subject: [PATCH 1/2] feat(optimizer): Annotate type for snowflake ATAN2 function --- sqlglot/dialects/snowflake.py | 1 + tests/dialects/test_snowflake.py | 2 ++ tests/fixtures/optimizer/annotate_functions.sql | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/sqlglot/dialects/snowflake.py b/sqlglot/dialects/snowflake.py index 2e9ba304e7..f1ce7f0488 100644 --- a/sqlglot/dialects/snowflake.py +++ b/sqlglot/dialects/snowflake.py @@ -573,6 +573,7 @@ class Snowflake(Dialect): exp.Sin, exp.Tan, exp.Asin, + exp.Atan2, exp.Atanh, exp.Cbrt, }, diff --git a/tests/dialects/test_snowflake.py b/tests/dialects/test_snowflake.py index 6fed557291..184c733a9c 100644 --- a/tests/dialects/test_snowflake.py +++ b/tests/dialects/test_snowflake.py @@ -60,6 +60,8 @@ def test_snowflake(self): self.validate_identity("SELECT SOUNDEX_P123(column_name)") self.validate_identity("SELECT ABS(x)") self.validate_identity("SELECT ASIN(0.5)") + self.validate_identity("SELECT ATAN2(1, 1)") + self.validate_identity("SELECT ATAN2(0.5, 0.3)") self.validate_identity("SELECT ATANH(0.5)") self.validate_identity("SELECT CBRT(27.0)") self.validate_identity("SELECT SIGN(x)") diff --git a/tests/fixtures/optimizer/annotate_functions.sql b/tests/fixtures/optimizer/annotate_functions.sql index 89502e039e..e88f205997 100644 --- a/tests/fixtures/optimizer/annotate_functions.sql +++ b/tests/fixtures/optimizer/annotate_functions.sql @@ -1547,6 +1547,10 @@ DOUBLE; ASIN(tbl.double_col); DOUBLE; +# dialect: snowflake +ATAN2(tbl.double_col, tbl.double_col); +DOUBLE; + # dialect: snowflake ATANH(tbl.double_col); DOUBLE; From 48277a53b5d5cd919e5a72f2c99cb26d8e4818ff Mon Sep 17 00:00:00 2001 From: fivetran-amrutabhimsenayachit Date: Thu, 9 Oct 2025 12:16:08 -0400 Subject: [PATCH 2/2] fix: Removed extra test --- tests/dialects/test_snowflake.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/dialects/test_snowflake.py b/tests/dialects/test_snowflake.py index 184c733a9c..1cc8c1df05 100644 --- a/tests/dialects/test_snowflake.py +++ b/tests/dialects/test_snowflake.py @@ -60,7 +60,6 @@ def test_snowflake(self): self.validate_identity("SELECT SOUNDEX_P123(column_name)") self.validate_identity("SELECT ABS(x)") self.validate_identity("SELECT ASIN(0.5)") - self.validate_identity("SELECT ATAN2(1, 1)") self.validate_identity("SELECT ATAN2(0.5, 0.3)") self.validate_identity("SELECT ATANH(0.5)") self.validate_identity("SELECT CBRT(27.0)")