diff options
Diffstat (limited to '')
-rw-r--r-- | sqlglot/expressions.py | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/sqlglot/expressions.py b/sqlglot/expressions.py index 99722be..8246769 100644 --- a/sqlglot/expressions.py +++ b/sqlglot/expressions.py @@ -1105,14 +1105,7 @@ class Create(DDL): # https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_clone_statement # https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_copy class Clone(Expression): - arg_types = { - "this": True, - "when": False, - "kind": False, - "shallow": False, - "expression": False, - "copy": False, - } + arg_types = {"this": True, "shallow": False, "copy": False} class Describe(Expression): @@ -1213,6 +1206,10 @@ class RawString(Condition): pass +class UnicodeString(Condition): + arg_types = {"this": True, "escape": False} + + class Column(Condition): arg_types = {"this": True, "table": False, "db": False, "catalog": False, "join_mark": False} @@ -1967,7 +1964,12 @@ class Offset(Expression): class Order(Expression): - arg_types = {"this": False, "expressions": True} + arg_types = {"this": False, "expressions": True, "interpolate": False} + + +# https://clickhouse.com/docs/en/sql-reference/statements/select/order-by#order-by-expr-with-fill-modifier +class WithFill(Expression): + arg_types = {"from": False, "to": False, "step": False} # hive specific sorts @@ -1985,7 +1987,7 @@ class Sort(Order): class Ordered(Expression): - arg_types = {"this": True, "desc": False, "nulls_first": True} + arg_types = {"this": True, "desc": False, "nulls_first": True, "with_fill": False} class Property(Expression): @@ -2522,6 +2524,11 @@ class IndexTableHint(Expression): arg_types = {"this": True, "expressions": False, "target": False} +# https://docs.snowflake.com/en/sql-reference/constructs/at-before +class HistoricalData(Expression): + arg_types = {"this": True, "kind": True, "expression": True} + + class Table(Expression): arg_types = { "this": True, @@ -2538,6 +2545,7 @@ class Table(Expression): "pattern": False, "index": False, "ordinality": False, + "when": False, } @property @@ -4310,6 +4318,11 @@ class Array(Func): is_var_len_args = True +# https://docs.snowflake.com/en/sql-reference/functions/to_array +class ToArray(Func): + pass + + # https://docs.snowflake.com/en/sql-reference/functions/to_char # https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/TO_CHAR-number.html class ToChar(Func): @@ -5233,6 +5246,19 @@ class UnixToTimeStr(Func): pass +class TimestampFromParts(Func): + """Constructs a timestamp given its constituent parts.""" + + arg_types = { + "year": True, + "month": True, + "day": True, + "hour": True, + "min": True, + "sec": True, + } + + class Upper(Func): _sql_names = ["UPPER", "UCASE"] |