From 5dde903f4f6659e384287a3e508b9f369c5a2ba3 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 10 Aug 2023 11:23:46 +0200 Subject: Adding upstream version 17.11.0. Signed-off-by: Daniel Baumann --- sqlglot/dialects/mysql.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'sqlglot/dialects/mysql.py') diff --git a/sqlglot/dialects/mysql.py b/sqlglot/dialects/mysql.py index a54f076..3cd99e7 100644 --- a/sqlglot/dialects/mysql.py +++ b/sqlglot/dialects/mysql.py @@ -87,9 +87,7 @@ def _date_add_sql(kind: str) -> t.Callable[[generator.Generator, exp.DateAdd | e def func(self: generator.Generator, expression: exp.DateAdd | exp.DateSub) -> str: this = self.sql(expression, "this") unit = expression.text("unit").upper() or "DAY" - return ( - f"DATE_{kind}({this}, {self.sql(exp.Interval(this=expression.expression, unit=unit))})" - ) + return f"DATE_{kind}({this}, {self.sql(exp.Interval(this=expression.expression.copy(), unit=unit))})" return func @@ -522,7 +520,7 @@ class MySQL(Dialect): exp.StrToTime: _str_to_date_sql, exp.TableSample: no_tablesample_sql, exp.TimeStrToUnix: rename_func("UNIX_TIMESTAMP"), - exp.TimeStrToTime: lambda self, e: self.sql(exp.cast(e.this, "datetime")), + exp.TimeStrToTime: lambda self, e: self.sql(exp.cast(e.this, "datetime", copy=True)), exp.TimeToStr: lambda self, e: self.func("DATE_FORMAT", e.this, self.format_time(e)), exp.Trim: _trim_sql, exp.TryCast: no_trycast_sql, @@ -556,12 +554,12 @@ class MySQL(Dialect): def limit_sql(self, expression: exp.Limit, top: bool = False) -> str: # MySQL requires simple literal values for its LIMIT clause. - expression = simplify_literal(expression) + expression = simplify_literal(expression.copy()) return super().limit_sql(expression, top=top) def offset_sql(self, expression: exp.Offset) -> str: # MySQL requires simple literal values for its OFFSET clause. - expression = simplify_literal(expression) + expression = simplify_literal(expression.copy()) return super().offset_sql(expression) def xor_sql(self, expression: exp.Xor) -> str: -- cgit v1.2.3