summaryrefslogtreecommitdiffstats
path: root/sqlglot/dataframe/sql/functions.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-05-03 09:12:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-05-03 09:12:28 +0000
commit67c28dbe67209effad83d93b850caba5ee1e20e3 (patch)
treedffdfbfb4f0899c92a4c978e6eac55af2ff76367 /sqlglot/dataframe/sql/functions.py
parentReleasing debian version 11.5.2-1. (diff)
downloadsqlglot-67c28dbe67209effad83d93b850caba5ee1e20e3.tar.xz
sqlglot-67c28dbe67209effad83d93b850caba5ee1e20e3.zip
Merging upstream version 11.7.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/dataframe/sql/functions.py')
-rw-r--r--sqlglot/dataframe/sql/functions.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/sqlglot/dataframe/sql/functions.py b/sqlglot/dataframe/sql/functions.py
index f77b4f8..993d869 100644
--- a/sqlglot/dataframe/sql/functions.py
+++ b/sqlglot/dataframe/sql/functions.py
@@ -577,11 +577,15 @@ def make_date(year: ColumnOrName, month: ColumnOrName, day: ColumnOrName) -> Col
def date_add(col: ColumnOrName, days: t.Union[ColumnOrName, int]) -> Column:
- return Column.invoke_expression_over_column(col, expression.DateAdd, expression=days)
+ return Column.invoke_expression_over_column(
+ col, expression.DateAdd, expression=days, unit=expression.Var(this="day")
+ )
def date_sub(col: ColumnOrName, days: t.Union[ColumnOrName, int]) -> Column:
- return Column.invoke_expression_over_column(col, expression.DateSub, expression=days)
+ return Column.invoke_expression_over_column(
+ col, expression.DateSub, expression=days, unit=expression.Var(this="day")
+ )
def date_diff(end: ColumnOrName, start: ColumnOrName) -> Column:
@@ -695,18 +699,17 @@ def crc32(col: ColumnOrName) -> Column:
def md5(col: ColumnOrName) -> Column:
column = col if isinstance(col, Column) else lit(col)
- return Column.invoke_anonymous_function(column, "MD5")
+ return Column.invoke_expression_over_column(column, expression.MD5)
def sha1(col: ColumnOrName) -> Column:
column = col if isinstance(col, Column) else lit(col)
- return Column.invoke_anonymous_function(column, "SHA1")
+ return Column.invoke_expression_over_column(column, expression.SHA)
def sha2(col: ColumnOrName, numBits: int) -> Column:
column = col if isinstance(col, Column) else lit(col)
- num_bits = lit(numBits)
- return Column.invoke_anonymous_function(column, "SHA2", num_bits)
+ return Column.invoke_expression_over_column(column, expression.SHA2, length=lit(numBits))
def hash(*cols: ColumnOrName) -> Column: