summaryrefslogtreecommitdiffstats
path: root/sqlglot/dialects/redshift.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 20:08:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 20:08:03 +0000
commitcf606e6b9c2bd703d35537ef8880a8b80edf52a5 (patch)
treeac3c8e940fabdaa513920df2a58284fe4e8c84ee /sqlglot/dialects/redshift.py
parentReleasing debian version 24.0.0-1. (diff)
downloadsqlglot-cf606e6b9c2bd703d35537ef8880a8b80edf52a5.tar.xz
sqlglot-cf606e6b9c2bd703d35537ef8880a8b80edf52a5.zip
Merging upstream version 24.1.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/dialects/redshift.py')
-rw-r--r--sqlglot/dialects/redshift.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/sqlglot/dialects/redshift.py b/sqlglot/dialects/redshift.py
index d3388e7..df6985d 100644
--- a/sqlglot/dialects/redshift.py
+++ b/sqlglot/dialects/redshift.py
@@ -63,6 +63,9 @@ class Redshift(Postgres):
"DATE_DIFF": _build_date_delta(exp.TsOrDsDiff),
"GETDATE": exp.CurrentTimestamp.from_arg_list,
"LISTAGG": exp.GroupConcat.from_arg_list,
+ "SPLIT_TO_ARRAY": lambda args: exp.StringToArray(
+ this=seq_get(args, 0), expression=seq_get(args, 1) or exp.Literal.string(",")
+ ),
"STRTOL": exp.FromBase.from_arg_list,
}
@@ -124,6 +127,7 @@ class Redshift(Postgres):
"TOP": TokenType.TOP,
"UNLOAD": TokenType.COMMAND,
"VARBYTE": TokenType.VARBINARY,
+ "MINUS": TokenType.EXCEPT,
}
KEYWORDS.pop("VALUES")
@@ -186,6 +190,7 @@ class Redshift(Postgres):
e: f"{'COMPOUND ' if e.args['compound'] else ''}SORTKEY({self.format_args(*e.this)})",
exp.StartsWith: lambda self,
e: f"{self.sql(e.this)} LIKE {self.sql(e.expression)} || '%'",
+ exp.StringToArray: rename_func("SPLIT_TO_ARRAY"),
exp.TableSample: no_tablesample_sql,
exp.TsOrDsAdd: date_delta_sql("DATEADD"),
exp.TsOrDsDiff: date_delta_sql("DATEDIFF"),