diff options
Diffstat (limited to 'sqlglot/dialects/mysql.py')
-rw-r--r-- | sqlglot/dialects/mysql.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/sqlglot/dialects/mysql.py b/sqlglot/dialects/mysql.py index 75023ff..d2462e1 100644 --- a/sqlglot/dialects/mysql.py +++ b/sqlglot/dialects/mysql.py @@ -94,10 +94,10 @@ def _date_add_sql(kind: str) -> t.Callable[[generator.Generator, exp.DateAdd | e class MySQL(Dialect): - time_format = "'%Y-%m-%d %T'" + TIME_FORMAT = "'%Y-%m-%d %T'" # https://prestodb.io/docs/current/functions/datetime.html#mysql-date-functions - time_mapping = { + TIME_MAPPING = { "%M": "%B", "%c": "%-m", "%e": "%-d", @@ -128,6 +128,7 @@ class MySQL(Dialect): "MEDIUMBLOB": TokenType.MEDIUMBLOB, "MEDIUMTEXT": TokenType.MEDIUMTEXT, "SEPARATOR": TokenType.SEPARATOR, + "ENUM": TokenType.ENUM, "START": TokenType.BEGIN, "_ARMSCII8": TokenType.INTRODUCER, "_ASCII": TokenType.INTRODUCER, @@ -279,6 +280,16 @@ class MySQL(Dialect): "SWAPS", } + TYPE_TOKENS = { + *parser.Parser.TYPE_TOKENS, + TokenType.SET, + } + + ENUM_TYPE_TOKENS = { + *parser.Parser.ENUM_TYPE_TOKENS, + TokenType.SET, + } + LOG_DEFAULTS_TO_LN = True def _parse_show_mysql( @@ -372,12 +383,7 @@ class MySQL(Dialect): else: collate = None - return self.expression( - exp.SetItem, - this=charset, - collate=collate, - kind="NAMES", - ) + return self.expression(exp.SetItem, this=charset, collate=collate, kind="NAMES") class Generator(generator.Generator): LOCKING_READS_SUPPORTED = True @@ -472,9 +478,7 @@ class MySQL(Dialect): def _prefixed_sql(self, prefix: str, expression: exp.Expression, arg: str) -> str: sql = self.sql(expression, arg) - if not sql: - return "" - return f" {prefix} {sql}" + return f" {prefix} {sql}" if sql else "" def _oldstyle_limit_sql(self, expression: exp.Show) -> str: limit = self.sql(expression, "limit") |