From 8ae32433da868c0589415fbd17d37dad962720b4 Mon Sep 17 00:00:00 2001 From: Shifra Williams Date: Fri, 13 Jun 2025 02:32:24 -0700 Subject: [PATCH] feat: add snowflake sql keywords (#4915) Added Snowflake SQL keywords from this doc: https://docs.snowflake.com/en/sql-reference/reserved-keywords --- src/basic-languages/sql/keywords.js | 102 ++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/src/basic-languages/sql/keywords.js b/src/basic-languages/sql/keywords.js index 9573a25f..25c7c771 100644 --- a/src/basic-languages/sql/keywords.js +++ b/src/basic-languages/sql/keywords.js @@ -7,6 +7,7 @@ const keywordsSet = new Set(); addArrToSet(keywordsSet, getMicrosoftSQLKeywords()); addArrToSet(keywordsSet, getSQLiteKeywords()); +addArrToSet(keywordsSet, getSnowflakeSQLKeywords()); const keywords = setToArr(keywordsSet); keywords.sort(); @@ -610,3 +611,104 @@ function getSQLiteKeywords() { .map((t) => t.trim()) .filter((t) => !!t); } + +function getSnowflakeSQLKeywords() { + // https://docs.snowflake.com/en/sql-reference/reserved-keywords + return ` + ACCOUNT + ALL + ALTER + AND + ANY + AS + BETWEEN + BY + CASE + CAST + CHECK + COLUMN + CONNECT + CONNECTION + CONSTRAINT + CREATE + CROSS + CURRENT + CURRENT_DATE + CURRENT_TIME + CURRENT_TIMESTAMP + CURRENT_USER + DATABASE + DELETE + DISTINCT + DROP + ELSE + EXISTS + FALSE + FOLLOWING + FOR + FROM + FULL + GRANT + GROUP + GSCLUSTER + HAVING + ILIKE + IN + INCREMENT + INNER + INSERT + INTERSECT + INTO + IS + ISSUE + JOIN + LATERAL + LEFT + LIKE + LOCALTIME + LOCALTIMESTAMP + MINUS + NATURAL + NOT + NULL + OF + ON + OR + ORDER + ORGANIZATION + QUALIFY + REGEXP + REVOKE + RIGHT + RLIKE + ROW + ROWS + SAMPLE + SCHEMA + SELECT + SET + SOME + START + TABLE + TABLESAMPLE + THEN + TO + TRIGGER + TRUE + TRY_CAST + UNION + UNIQUE + UPDATE + USING + VALUES + VIEW + WHEN + WHENEVER + WHERE + WINDOW + WITH + ` + .split(/\r\n|\r|\n/) + .map((t) => t.trim()) + .filter((t) => !!t); +}