summaryrefslogtreecommitdiffstats
path: root/sqlglot/expressions.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sqlglot/expressions.py46
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"]