This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 5dd285cb50a Add type annotations to sql hooks (#70815)
5dd285cb50a is described below
commit 5dd285cb50a4b5b39389fef3fc90c8f5fd32ccfd
Author: Ulada Zakharava <[email protected]>
AuthorDate: Thu Aug 13 14:53:46 2026 +0200
Add type annotations to sql hooks (#70815)
---
.../amazon/src/airflow/providers/amazon/aws/hooks/redshift_sql.py | 2 +-
providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py | 2 +-
providers/google/src/airflow/providers/google/cloud/hooks/spanner.py | 2 +-
.../mssql/src/airflow/providers/microsoft/mssql/hooks/mssql.py | 3 ++-
providers/mysql/src/airflow/providers/mysql/hooks/mysql.py | 3 ++-
providers/oracle/src/airflow/providers/oracle/hooks/oracle.py | 2 +-
providers/postgres/src/airflow/providers/postgres/hooks/postgres.py | 2 +-
7 files changed, 9 insertions(+), 7 deletions(-)
diff --git
a/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_sql.py
b/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_sql.py
index e4af4e71724..7d25b0ccfbc 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_sql.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/redshift_sql.py
@@ -35,7 +35,7 @@ from airflow.providers.common.compat.sdk import
AirflowException, AirflowOptiona
from airflow.providers.common.sql.hooks.sql import DbApiHook
if TYPE_CHECKING:
- from airflow.models.connection import Connection
+ from airflow.providers.common.compat.sdk import Connection
from airflow.providers.openlineage.sqlparser import DatabaseInfo
diff --git a/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
b/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
index 8b5a4d2ddfd..3e30501cb8f 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/hooks/sql.py
@@ -1110,7 +1110,7 @@ class DbApiHook(BaseHook):
return status, message
- def get_openlineage_database_info(self, connection) -> DatabaseInfo | None:
+ def get_openlineage_database_info(self, connection: Connection) ->
DatabaseInfo | None:
"""
Return database specific information needed to generate and parse
lineage metadata.
diff --git
a/providers/google/src/airflow/providers/google/cloud/hooks/spanner.py
b/providers/google/src/airflow/providers/google/cloud/hooks/spanner.py
index 62287665ce2..eff7093c4b2 100644
--- a/providers/google/src/airflow/providers/google/cloud/hooks/spanner.py
+++ b/providers/google/src/airflow/providers/google/cloud/hooks/spanner.py
@@ -40,7 +40,7 @@ if TYPE_CHECKING:
from google.cloud.spanner_v1.transaction import Transaction
from google.longrunning.operations_grpc_pb2 import Operation
- from airflow.models.connection import Connection
+ from airflow.providers.common.compat.sdk import Connection
class SpannerConnectionParams(NamedTuple):
diff --git
a/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/hooks/mssql.py
b/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/hooks/mssql.py
index f05e26ec027..54a79204364 100644
---
a/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/hooks/mssql.py
+++
b/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/hooks/mssql.py
@@ -28,6 +28,7 @@ from airflow.providers.common.sql.hooks.sql import DbApiHook
from airflow.providers.microsoft.mssql.dialects.mssql import MsSqlDialect
if TYPE_CHECKING:
+ from airflow.providers.common.compat.sdk import Connection
from airflow.providers.common.sql.dialects.dialect import Dialect
from airflow.providers.openlineage.sqlparser import DatabaseInfo
@@ -119,7 +120,7 @@ class MsSqlHook(DbApiHook):
def get_autocommit(self, conn: PymssqlConnection):
return conn.autocommit_state
- def get_openlineage_database_info(self, connection) -> DatabaseInfo:
+ def get_openlineage_database_info(self, connection: Connection) ->
DatabaseInfo:
"""Return MSSQL specific information for OpenLineage."""
from airflow.providers.openlineage.sqlparser import DatabaseInfo
diff --git a/providers/mysql/src/airflow/providers/mysql/hooks/mysql.py
b/providers/mysql/src/airflow/providers/mysql/hooks/mysql.py
index 718774f6712..0f0f826c222 100644
--- a/providers/mysql/src/airflow/providers/mysql/hooks/mysql.py
+++ b/providers/mysql/src/airflow/providers/mysql/hooks/mysql.py
@@ -32,6 +32,7 @@ logger = logging.getLogger(__name__)
if TYPE_CHECKING:
from airflow.providers.common.compat.sdk import Connection
+ from airflow.providers.openlineage.sqlparser import DatabaseInfo
try:
from mysql.connector.abstracts import MySQLConnectionAbstract
@@ -356,7 +357,7 @@ class MySqlHook(DbApiHook):
conn.commit()
conn.close()
- def get_openlineage_database_info(self, connection):
+ def get_openlineage_database_info(self, connection: Connection) ->
DatabaseInfo:
"""Return MySQL specific information for OpenLineage."""
from airflow.providers.openlineage.sqlparser import DatabaseInfo
diff --git a/providers/oracle/src/airflow/providers/oracle/hooks/oracle.py
b/providers/oracle/src/airflow/providers/oracle/hooks/oracle.py
index 285dfe71215..23a6bd0092d 100644
--- a/providers/oracle/src/airflow/providers/oracle/hooks/oracle.py
+++ b/providers/oracle/src/airflow/providers/oracle/hooks/oracle.py
@@ -26,7 +26,7 @@ from typing import TYPE_CHECKING, Any
import oracledb
if TYPE_CHECKING:
- from airflow.models.connection import Connection
+ from airflow.providers.common.compat.sdk import Connection
from airflow.providers.openlineage.sqlparser import DatabaseInfo
from airflow.providers.common.sql.hooks.lineage import send_sql_hook_lineage
diff --git
a/providers/postgres/src/airflow/providers/postgres/hooks/postgres.py
b/providers/postgres/src/airflow/providers/postgres/hooks/postgres.py
index afbb2094639..89e972a3f82 100644
--- a/providers/postgres/src/airflow/providers/postgres/hooks/postgres.py
+++ b/providers/postgres/src/airflow/providers/postgres/hooks/postgres.py
@@ -584,7 +584,7 @@ class PostgresHook(DbApiHook):
"""
return self.dialect.get_primary_keys(table=table, schema=schema)
- def get_openlineage_database_info(self, connection) -> DatabaseInfo:
+ def get_openlineage_database_info(self, connection: Connection) ->
DatabaseInfo:
"""Return Postgres/Redshift specific information for OpenLineage."""
from airflow.providers.openlineage.sqlparser import DatabaseInfo