From a40f2dfcb7adbb541bad75b16d3071a88617b623 Mon Sep 17 00:00:00 2001 From: kzajaczkowski Date: Fri, 26 Apr 2024 15:27:05 +0200 Subject: [PATCH] Add collation and charset support for mariadb and mysql5 --- dbt/adapters/mariadb/connections.py | 7 +++++++ dbt/adapters/mysql5/connections.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/dbt/adapters/mariadb/connections.py b/dbt/adapters/mariadb/connections.py index 94c9428..6e463de 100644 --- a/dbt/adapters/mariadb/connections.py +++ b/dbt/adapters/mariadb/connections.py @@ -26,6 +26,7 @@ class MariaDBCredentials(Credentials): password: Optional[str] = None charset: Optional[str] = None ssl_disabled: Optional[bool] = None + collation: Optional[str] = None _ALIASES = { "UID": "username", @@ -98,6 +99,12 @@ def open(cls, connection): if credentials.port: kwargs["port"] = credentials.port + if credentials.charset: + kwargs["charset"] = credentials.charset + + if credentials.collation: + kwargs["collation"] = credentials.collation + try: connection.handle = mysql.connector.connect(**kwargs) connection.state = "open" diff --git a/dbt/adapters/mysql5/connections.py b/dbt/adapters/mysql5/connections.py index 0160bd9..ee7cbc5 100644 --- a/dbt/adapters/mysql5/connections.py +++ b/dbt/adapters/mysql5/connections.py @@ -26,6 +26,7 @@ class MySQLCredentials(Credentials): password: Optional[str] = None charset: Optional[str] = None ssl_disabled: Optional[bool] = None + collation: Optional[str] = None _ALIASES = { "UID": "username", @@ -98,6 +99,12 @@ def open(cls, connection): if credentials.port: kwargs["port"] = credentials.port + if credentials.charset: + kwargs["charset"] = credentials.charset + + if credentials.collation: + kwargs["collation"] = credentials.collation + try: connection.handle = mysql.connector.connect(**kwargs) connection.state = "open"