From d9bd8e451296ab187eba9daa45553effca36d95d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=96=86=E5=AE=B8?= Date: Sun, 19 Oct 2025 17:27:10 -0400 Subject: [PATCH 1/2] fix: Fix mypy type errors in Teradata provider for SQLAlchemy 2 upgrade --- .../providers/teradata/hooks/teradata.py | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py b/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py index 866a51db18f8c..4caf0b9a40092 100644 --- a/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py +++ b/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py @@ -206,18 +206,14 @@ def sqlalchemy_url(self) -> URL: connection = self.get_connection(self.get_conn_id()) # Adding only teradatasqlalchemy supported connection parameters. # https://pypi.org/project/teradatasqlalchemy/#ConnectionParameters - url_kwargs = { - "drivername": "teradatasql", - "username": connection.login, - "password": connection.password, - "host": connection.host, - "port": connection.port, - } - - if connection.schema: # Only include database if it's not None or empty - url_kwargs["database"] = connection.schema - - return URL.create(**url_kwargs) + return URL.create( + drivername="teradatasql", + username=connection.login, + password=connection.password, + host=connection.host, + port=connection.port, + database=connection.schema, + ) def get_uri(self) -> str: """Override DbApiHook get_uri method for get_sqlalchemy_engine().""" From a417bca315250fb89590a9b271e25f3d38d8c52e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=96=86=E5=AE=B8?= Date: Sun, 19 Oct 2025 18:13:57 -0400 Subject: [PATCH 2/2] fix: only include database when schema is not empty --- .../teradata/src/airflow/providers/teradata/hooks/teradata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py b/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py index 4caf0b9a40092..4429a1c093262 100644 --- a/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py +++ b/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py @@ -212,7 +212,7 @@ def sqlalchemy_url(self) -> URL: password=connection.password, host=connection.host, port=connection.port, - database=connection.schema, + database=connection.schema if connection.schema else None, ) def get_uri(self) -> str: