This is an automated email from the ASF dual-hosted git repository.
amoghdesai 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 78daef7af9c Move all BaseHook usages to version_compat in Common SQL
(#52800)
78daef7af9c is described below
commit 78daef7af9c771fb9ab87094c8284519b38e0bb6
Author: Ankit Chaurasia <[email protected]>
AuthorDate: Fri Jul 4 15:19:46 2025 +0545
Move all BaseHook usages to version_compat in Common SQL (#52800)
---
.../sql/src/airflow/providers/common/sql/hooks/sql.py | 6 +-----
.../providers/common/sql/operators/generic_transfer.py | 7 +------
.../sql/src/airflow/providers/common/sql/operators/sql.py | 7 +------
.../sql/src/airflow/providers/common/sql/sensors/sql.py | 13 +------------
.../sql/src/airflow/providers/common/sql/triggers/sql.py | 6 +-----
.../sql/src/airflow/providers/common/sql/version_compat.py | 8 ++++++++
.../common/sql/tests/unit/common/sql/hooks/test_dbapi.py | 6 +-----
7 files changed, 14 insertions(+), 39 deletions(-)
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 28cefecf802..86c01d396da 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
@@ -41,11 +41,7 @@ from airflow.exceptions import (
)
from airflow.providers.common.sql.dialects.dialect import Dialect
from airflow.providers.common.sql.hooks import handlers
-
-try:
- from airflow.sdk import BaseHook
-except ImportError:
- from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
+from airflow.providers.common.sql.version_compat import BaseHook
from airflow.utils.module_loading import import_string
if TYPE_CHECKING:
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/operators/generic_transfer.py
b/providers/common/sql/src/airflow/providers/common/sql/operators/generic_transfer.py
index 748a146e0d0..414ef8bad84 100644
---
a/providers/common/sql/src/airflow/providers/common/sql/operators/generic_transfer.py
+++
b/providers/common/sql/src/airflow/providers/common/sql/operators/generic_transfer.py
@@ -24,12 +24,7 @@ from typing import TYPE_CHECKING, Any
from airflow.exceptions import AirflowException
from airflow.providers.common.sql.hooks.sql import DbApiHook
from airflow.providers.common.sql.triggers.sql import SQLExecuteQueryTrigger
-from airflow.providers.common.sql.version_compat import BaseOperator
-
-try:
- from airflow.sdk import BaseHook
-except ImportError:
- from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
+from airflow.providers.common.sql.version_compat import BaseHook, BaseOperator
if TYPE_CHECKING:
import jinja2
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
b/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
index ce0cbe5214b..fa6963c86e2 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/operators/sql.py
@@ -27,14 +27,9 @@ from airflow.exceptions import AirflowException,
AirflowFailException
from airflow.models import SkipMixin
from airflow.providers.common.sql.hooks.handlers import fetch_all_handler,
return_single_query_results
from airflow.providers.common.sql.hooks.sql import DbApiHook
-from airflow.providers.common.sql.version_compat import BaseOperator
+from airflow.providers.common.sql.version_compat import BaseHook, BaseOperator
from airflow.utils.helpers import merge_dicts
-try:
- from airflow.sdk import BaseHook
-except ImportError:
- from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
-
if TYPE_CHECKING:
from airflow.providers.openlineage.extractors import OperatorLineage
from airflow.utils.context import Context
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.py
b/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.py
index 687b39f63c0..4ef79769ef3 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.py
@@ -22,18 +22,7 @@ from typing import TYPE_CHECKING, Any
from airflow.exceptions import AirflowException
from airflow.providers.common.sql.hooks.sql import DbApiHook
-
-try:
- from airflow.sdk import BaseHook
-except ImportError:
- from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
-
-from airflow.providers.common.sql.version_compat import AIRFLOW_V_3_0_PLUS
-
-if AIRFLOW_V_3_0_PLUS:
- from airflow.sdk import BaseSensorOperator
-else:
- from airflow.sensors.base import BaseSensorOperator # type:
ignore[no-redef]
+from airflow.providers.common.sql.version_compat import BaseHook,
BaseSensorOperator
if TYPE_CHECKING:
from airflow.utils.context import Context
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/triggers/sql.py
b/providers/common/sql/src/airflow/providers/common/sql/triggers/sql.py
index 64618fc8f5f..f137293617e 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/triggers/sql.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/triggers/sql.py
@@ -21,11 +21,7 @@ from typing import TYPE_CHECKING
from airflow.exceptions import AirflowException
from airflow.providers.common.sql.hooks.sql import DbApiHook
-
-try:
- from airflow.sdk import BaseHook
-except ImportError:
- from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
+from airflow.providers.common.sql.version_compat import BaseHook
from airflow.triggers.base import BaseTrigger, TriggerEvent
if TYPE_CHECKING:
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/version_compat.py
b/providers/common/sql/src/airflow/providers/common/sql/version_compat.py
index b326387fea2..03bf6973a70 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/version_compat.py
+++ b/providers/common/sql/src/airflow/providers/common/sql/version_compat.py
@@ -33,6 +33,12 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
+AIRFLOW_V_3_1_PLUS: bool = get_base_airflow_version_tuple() >= (3, 1, 0)
+
+if AIRFLOW_V_3_1_PLUS:
+ from airflow.sdk import BaseHook
+else:
+ from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
if AIRFLOW_V_3_0_PLUS:
from airflow.sdk import BaseOperator, BaseSensorOperator
@@ -42,6 +48,8 @@ else:
__all__ = [
"AIRFLOW_V_3_0_PLUS",
+ "AIRFLOW_V_3_1_PLUS",
+ "BaseHook",
"BaseOperator",
"BaseSensorOperator",
]
diff --git a/providers/common/sql/tests/unit/common/sql/hooks/test_dbapi.py
b/providers/common/sql/tests/unit/common/sql/hooks/test_dbapi.py
index 29a9f8350e8..69c3147a40e 100644
--- a/providers/common/sql/tests/unit/common/sql/hooks/test_dbapi.py
+++ b/providers/common/sql/tests/unit/common/sql/hooks/test_dbapi.py
@@ -30,11 +30,7 @@ from airflow.models import Connection
from airflow.providers.common.sql.dialects.dialect import Dialect
from airflow.providers.common.sql.hooks.handlers import fetch_all_handler,
fetch_one_handler
from airflow.providers.common.sql.hooks.sql import DbApiHook
-
-try:
- from airflow.sdk import BaseHook
-except ImportError:
- from airflow.hooks.base import BaseHook # type:
ignore[attr-defined,no-redef]
+from airflow.providers.common.sql.version_compat import BaseHook
class DbApiHookInProvider(DbApiHook):