Skip to content

Commit 637af55

Browse files
committed
Scope the ALTER SESSION parser override to Snowflake
1 parent 93ae8be commit 637af55

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

‎sqlmesh/core/dialect.py‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -569,11 +569,13 @@ def _parse_alter_table_alter(self: Parser) -> t.Optional[exp.Expr]:
569569
return alter_column
570570

571571

572-
# Session parameter names in ALTER SESSION SET / UNSET (e.g. Snowflake's TIMEZONE or QUERY_TAG)
573-
# are keywords, not identifiers, so engines reject them when quoted: ALTER SESSION SET "TIMEZONE"
574-
# = 'UTC' is a syntax error in Snowflake. sqlglot parses them as identifiers, which means they get
575-
# normalized and quoted along with the rest of the statement, so we turn them into vars instead.
576-
def _parse_alter_session(self: Parser) -> exp.AlterSession:
572+
# Snowflake session parameter names in ALTER SESSION SET / UNSET (e.g. TIMEZONE or QUERY_TAG) are
573+
# keywords, not identifiers, so Snowflake rejects them when quoted: ALTER SESSION SET "TIMEZONE" = 'UTC'
574+
# is a syntax error. sqlglot parses them as identifiers, which means they get normalized and quoted
575+
# along with the rest of the statement, so we turn them into vars instead. Vars are also left out of
576+
# case normalization, so a parameter written as query_tag stays lowercase; Snowflake treats parameter
577+
# names case-insensitively, so this is intentional.
578+
def _parse_alter_session(self: Snowflake.Parser) -> exp.AlterSession:
577579
alter_session = self.__parse_alter_session() # type: ignore
578580

579581
for item in alter_session.expressions:
@@ -1447,7 +1449,7 @@ def extend_sqlglot() -> None:
14471449
_override(Parser, _parse_interval_span)
14481450
_override(Parser, _warn_unsupported)
14491451
_override(Snowflake.Parser, _parse_table_parts)
1450-
_override(Parser, _parse_alter_session)
1452+
_override(Snowflake.Parser, _parse_alter_session)
14511453
_override(TSQL.Parser, _parse_alter_table_alter)
14521454
_override(TSQL.Generator, altercolumn_sql)
14531455

0 commit comments

Comments
 (0)