This is an automated email from the ASF dual-hosted git repository.
kaxilnaik 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 c52c62f3e31 Migrate `common/sql` provider to `common.compat` (#57135)
c52c62f3e31 is described below
commit c52c62f3e31e7da4a58e00f177357e023acbcff6
Author: Bhavani Ravi <[email protected]>
AuthorDate: Sat Oct 25 01:11:46 2025 +0530
Migrate `common/sql` provider to `common.compat` (#57135)
---
providers/common/sql/pyproject.toml | 1 +
.../common/sql/src/airflow/providers/common/sql/hooks/sql.py | 6 +-----
.../airflow/providers/common/sql/operators/generic_transfer.py | 6 +-----
.../common/sql/src/airflow/providers/common/sql/operators/sql.py | 2 +-
.../common/sql/src/airflow/providers/common/sql/sensors/sql.py | 2 +-
.../common/sql/src/airflow/providers/common/sql/sensors/sql.pyi | 8 +-------
6 files changed, 6 insertions(+), 19 deletions(-)
diff --git a/providers/common/sql/pyproject.toml
b/providers/common/sql/pyproject.toml
index a640d2e1301..67d795a82b1 100644
--- a/providers/common/sql/pyproject.toml
+++ b/providers/common/sql/pyproject.toml
@@ -58,6 +58,7 @@ requires-python = ">=3.10"
# After you modify the dependencies, and rebuild your Breeze CI image with
``breeze ci-image build``
dependencies = [
"apache-airflow>=2.10.0",
+ "apache-airflow-providers-common-compat>=1.8.0",
"sqlparse>=0.5.1",
"more-itertools>=9.0.0",
# The methodtools dependency is necessary since the introduction of
dialects:
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 b19aefab857..33a81407677 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
@@ -49,14 +49,10 @@ if TYPE_CHECKING:
from polars import DataFrame as PolarsDataFrame
from sqlalchemy.engine import URL, Engine, Inspector
+ from airflow.providers.common.compat.sdk import Connection
from airflow.providers.openlineage.extractors import OperatorLineage
from airflow.providers.openlineage.sqlparser import DatabaseInfo
- try:
- from airflow.sdk import Connection
- except ImportError:
- from airflow.models.connection import Connection # type:
ignore[assignment]
-
T = TypeVar("T")
SQL_PLACEHOLDERS = frozenset({"%s", "?"})
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 2ed83769a5b..84bc367a94c 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
@@ -29,11 +29,7 @@ from airflow.providers.common.sql.triggers.sql import
SQLExecuteQueryTrigger
if TYPE_CHECKING:
import jinja2
- try:
- from airflow.sdk.definitions.context import Context
- except ImportError:
- # TODO: Remove once provider drops support for Airflow 2
- from airflow.utils.context import Context
+ from airflow.providers.common.compat.sdk import Context
class GenericTransfer(BaseOperator):
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 a1bc06bb2b5..8095373e7d7 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
@@ -34,8 +34,8 @@ from airflow.utils.helpers import merge_dicts
if TYPE_CHECKING:
import jinja2
+ from airflow.providers.common.compat.sdk import Context
from airflow.providers.openlineage.extractors import OperatorLineage
- from airflow.utils.context import Context
def _convert_to_float_if_possible(s: str) -> float | str:
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 4fdbbb94cf4..7912cc757d5 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
@@ -25,7 +25,7 @@ from airflow.providers.common.compat.sdk import BaseHook,
BaseSensorOperator
from airflow.providers.common.sql.hooks.sql import DbApiHook
if TYPE_CHECKING:
- from airflow.utils.context import Context
+ from airflow.providers.common.compat.sdk import Context
class SqlSensor(BaseSensorOperator):
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.pyi
b/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.pyi
index 1fe0c58d2ce..f72b8ac554b 100644
--- a/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.pyi
+++ b/providers/common/sql/src/airflow/providers/common/sql/sensors/sql.pyi
@@ -37,13 +37,7 @@ from typing import Any
from _typeshed import Incomplete as Incomplete
-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.compat.sdk import BaseSensorOperator
from airflow.utils.context import Context as Context
class SqlSensor(BaseSensorOperator):