diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-11 12:46:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-11 12:46:10 +0000 |
commit | d142aecb38fbfd35bf2a0732f5391a807bff3a5e (patch) | |
tree | f5430f0e6a127d39c663e958045aa1bbb462c58b /sqlglot/dialects/postgres.py | |
parent | Releasing debian version 15.0.0-1. (diff) | |
download | sqlglot-d142aecb38fbfd35bf2a0732f5391a807bff3a5e.tar.xz sqlglot-d142aecb38fbfd35bf2a0732f5391a807bff3a5e.zip |
Merging upstream version 15.2.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/dialects/postgres.py')
-rw-r--r-- | sqlglot/dialects/postgres.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sqlglot/dialects/postgres.py b/sqlglot/dialects/postgres.py index ab61880..8d84024 100644 --- a/sqlglot/dialects/postgres.py +++ b/sqlglot/dialects/postgres.py @@ -18,7 +18,9 @@ from sqlglot.dialects.dialect import ( rename_func, str_position_sql, timestamptrunc_sql, + timestrtotime_sql, trim_sql, + ts_or_ds_to_date_sql, ) from sqlglot.helper import seq_get from sqlglot.parser import binary_range_parser @@ -104,7 +106,7 @@ def _string_agg_sql(self: generator.Generator, expression: exp.GroupConcat) -> s def _datatype_sql(self: generator.Generator, expression: exp.DataType) -> str: - if expression.this == exp.DataType.Type.ARRAY: + if expression.is_type("array"): return f"{self.expressions(expression, flat=True)}[]" return self.datatype_sql(expression) @@ -353,12 +355,13 @@ class Postgres(Dialect): exp.StrToTime: lambda self, e: f"TO_TIMESTAMP({self.sql(e, 'this')}, {self.format_time(e)})", exp.Substring: _substring_sql, exp.TimestampTrunc: timestamptrunc_sql, - exp.TimeStrToTime: lambda self, e: f"CAST({self.sql(e, 'this')} AS TIMESTAMP)", + exp.TimeStrToTime: timestrtotime_sql, exp.TimeToStr: lambda self, e: f"TO_CHAR({self.sql(e, 'this')}, {self.format_time(e)})", exp.TableSample: no_tablesample_sql, exp.ToChar: lambda self, e: self.function_fallback_sql(e), exp.Trim: trim_sql, exp.TryCast: no_trycast_sql, + exp.TsOrDsToDate: ts_or_ds_to_date_sql("postgres"), exp.UnixToTime: lambda self, e: f"TO_TIMESTAMP({self.sql(e, 'this')})", exp.DataType: _datatype_sql, exp.GroupConcat: _string_agg_sql, |