From b61e6778b7c1c22a3426714fdd0c7f01bbca13b8 Mon Sep 17 00:00:00 2001 From: "chao.bi" Date: Fri, 23 Sep 2022 09:22:58 +1000 Subject: [PATCH 1/2] #208: fix soda analyze error on mysql --- packages/mysql/sodasql/dialects/mysql_dialect.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/mysql/sodasql/dialects/mysql_dialect.py b/packages/mysql/sodasql/dialects/mysql_dialect.py index 9057de8..cb8fda2 100644 --- a/packages/mysql/sodasql/dialects/mysql_dialect.py +++ b/packages/mysql/sodasql/dialects/mysql_dialect.py @@ -861,12 +861,12 @@ def is_time(self, column_type: str): ] def qualify_table_name(self, table_name: str) -> str: - if table_name in self.reserved_keywords: + if table_name.upper() in self.reserved_keywords: return f'`{table_name}`' return table_name def qualify_column_name(self, column_name: str, source_type: str = None): - if column_name in self.reserved_keywords: + if column_name.upper() in self.reserved_keywords: return f'`{column_name}`' return column_name @@ -877,6 +877,8 @@ def qualify_regex(self, regex) -> str: return self.escape_metacharacters(regex) def sql_expr_regexp_like(self, expr: str, pattern: str): + if expr.upper() in self.reserved_keywords: + expr = f"`{expr}`" return f"{expr} regexp '{self.qualify_regex(pattern)}'" def sql_expr_cast_text_to_number(self, quoted_column_name, validity_format): From eca954e78c508dff277ce231fa3fc2b619ebc6a6 Mon Sep 17 00:00:00 2001 From: "chao.bi" Date: Fri, 23 Sep 2022 09:55:22 +1000 Subject: [PATCH 2/2] fix port loading --- packages/mysql/sodasql/dialects/mysql_dialect.py | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/mysql/sodasql/dialects/mysql_dialect.py b/packages/mysql/sodasql/dialects/mysql_dialect.py index cb8fda2..9b23ec6 100644 --- a/packages/mysql/sodasql/dialects/mysql_dialect.py +++ b/packages/mysql/sodasql/dialects/mysql_dialect.py @@ -830,6 +830,7 @@ def create_connection(self): conn = mysql.connector.connect(user=self.username, password=self.password, host=self.host, + port=self.port, database=self.database) return conn except Exception as e: