diff --git a/sqlglot/typing/snowflake.py b/sqlglot/typing/snowflake.py index e8a187c7e4..b1a7dca562 100644 --- a/sqlglot/typing/snowflake.py +++ b/sqlglot/typing/snowflake.py @@ -244,6 +244,7 @@ def _annotate_str_to_time(self: TypeAnnotator, expression: exp.StrToTime) -> exp exp.ArrayAppend, exp.ArrayConstructCompact, exp.ArrayPrepend, + exp.ArrayRemove, exp.ArrayUniqueAgg, exp.ArrayUnionAgg, exp.MapKeys, diff --git a/tests/dialects/test_snowflake.py b/tests/dialects/test_snowflake.py index 4f35417fee..fe23fcd820 100644 --- a/tests/dialects/test_snowflake.py +++ b/tests/dialects/test_snowflake.py @@ -443,6 +443,7 @@ def test_snowflake(self): self.validate_identity("SELECT ARRAY_UNIQUE_AGG(x)") self.validate_identity("SELECT ARRAY_APPEND([1, 2, 3], 4)") self.validate_identity("SELECT ARRAY_PREPEND([2, 3, 4], 1)") + self.validate_identity("SELECT ARRAY_REMOVE([1, 2, 3], 2)") self.validate_identity("SELECT AI_AGG(review, 'Summarize the reviews')") self.validate_identity("SELECT AI_SUMMARIZE_AGG(review)") self.validate_identity("SELECT AI_CLASSIFY('text', ['travel', 'cooking'])") diff --git a/tests/fixtures/optimizer/annotate_functions.sql b/tests/fixtures/optimizer/annotate_functions.sql index 7e60e2026e..f6cb13fc8d 100644 --- a/tests/fixtures/optimizer/annotate_functions.sql +++ b/tests/fixtures/optimizer/annotate_functions.sql @@ -1752,6 +1752,10 @@ ARRAY; ARRAY_PREPEND([2, 3, 4], 1); ARRAY; +# dialect: snowflake +ARRAY_REMOVE([1, 2, 3], 2); +ARRAY; + # dialect: snowflake ASIN(tbl.double_col); DOUBLE;