From e29f3d68fa788aac55729872cca8d4a353764699 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:13:10 +0300 Subject: [PATCH 01/16] Changed type hinting for handler function --- airflow/providers/common/sql/operators/sql.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index f8b4080d6670d..d318268ba6bc4 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -20,7 +20,7 @@ import ast import re from functools import cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs, Tuple from airflow.exceptions import AirflowException, AirflowFailException from airflow.hooks.base import BaseHook @@ -221,7 +221,7 @@ def __init__( sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], Any] = fetch_all_handler, + handler: Callable[[Any], Iterable[Tuple]] = fetch_all_handler, conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From fade82eb29f36909e5ecc51137e61d627c00e101 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 16:03:02 +0300 Subject: [PATCH 02/16] Fixed ruff type hinting --- airflow/providers/common/sql/operators/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index d318268ba6bc4..4da81191cad41 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -221,7 +221,7 @@ def __init__( sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], Iterable[Tuple]] = fetch_all_handler, + handler: Callable[[Any], Iterable[tuple]] = fetch_all_handler, conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From fc49d9fc455b9d0f11416c8c658898d7dd2ac60e Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 16:09:59 +0300 Subject: [PATCH 03/16] Changed from iterable to list --- airflow/providers/common/sql/operators/sql.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index 4da81191cad41..f00a0eec93139 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -20,7 +20,7 @@ import ast import re from functools import cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs, Tuple +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs from airflow.exceptions import AirflowException, AirflowFailException from airflow.hooks.base import BaseHook @@ -221,7 +221,7 @@ def __init__( sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], Iterable[tuple]] = fetch_all_handler, + handler: Callable[[Any], list[tuple]] = fetch_all_handler, conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From 3aa4956231d0f17c01f443d28e0169a94cd4b477 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 16:10:39 +0300 Subject: [PATCH 04/16] Update sql.pyi for IDE support --- airflow/providers/common/sql/operators/sql.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index f8fa23c37edc7..1ded4c3af3bf8 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -89,7 +89,7 @@ class SQLExecuteQueryOperator(BaseSQLOperator): sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], Any] = ..., + handler: Callable[[Any], list[tuple]] = ..., conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From 65cb669728240bfb543dc7dadd9aff52bf8ff44b Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 16:13:24 +0300 Subject: [PATCH 05/16] Complied to the fetch_all_handler signature --- airflow/providers/common/sql/operators/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index f00a0eec93139..0513fb7636c86 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -221,7 +221,7 @@ def __init__( sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], list[tuple]] = fetch_all_handler, + handler: Callable[[Any], Optional[list[tuple]]] = fetch_all_handler, conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From 32e124a4006700444d1b95cd49b5cc2be9a1294f Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 16:14:11 +0300 Subject: [PATCH 06/16] Changed signature in pyi --- airflow/providers/common/sql/operators/sql.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index 1ded4c3af3bf8..bfe7d9b727ddc 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -89,7 +89,7 @@ class SQLExecuteQueryOperator(BaseSQLOperator): sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], list[tuple]] = ..., + handler: Callable[[Any], Optional[list[tuple]]] = ..., conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From 7725804edf27a32dcffe5632ceeca4efcd7fbdfa Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 17:49:24 +0300 Subject: [PATCH 07/16] Fixed import error --- airflow/providers/common/sql/operators/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index 0513fb7636c86..1ecf8c17e14e7 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -20,7 +20,7 @@ import ast import re from functools import cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs, Optional from airflow.exceptions import AirflowException, AirflowFailException from airflow.hooks.base import BaseHook From c224e3d9ca920c512b0ae3ee86e54d54fc676a9e Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 17:50:05 +0300 Subject: [PATCH 08/16] Fixed missing import --- airflow/providers/common/sql/operators/sql.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index bfe7d9b727ddc..1cb4893bb797d 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -47,7 +47,7 @@ from airflow.providers.openlineage.extractors import OperatorLineage as Operator from airflow.utils.context import Context as Context from airflow.utils.helpers import merge_dicts as merge_dicts from functools import cached_property as cached_property -from typing import Any, Callable, Iterable, Mapping, Sequence, SupportsAbs +from typing import Any, Callable, Iterable, Mapping, Sequence, SupportsAbs, Optional def _parse_boolean(val: str) -> str | bool: ... def parse_boolean(val: str) -> str | bool: ... From 4b85b714f0fce8e8811759f0fc15275cf4405725 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 18:28:36 +0300 Subject: [PATCH 09/16] Reordered imports --- airflow/providers/common/sql/operators/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index 1ecf8c17e14e7..7e58539758151 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -20,7 +20,7 @@ import ast import re from functools import cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs, Optional ++from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs from airflow.exceptions import AirflowException, AirflowFailException from airflow.hooks.base import BaseHook From 6dd5f85380dce0fa2c321d6a996b0ecbb7ec90da Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Tue, 17 Sep 2024 18:29:13 +0300 Subject: [PATCH 10/16] Reordered imports --- airflow/providers/common/sql/operators/sql.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index 1cb4893bb797d..6d1e45f029180 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -47,7 +47,7 @@ from airflow.providers.openlineage.extractors import OperatorLineage as Operator from airflow.utils.context import Context as Context from airflow.utils.helpers import merge_dicts as merge_dicts from functools import cached_property as cached_property -from typing import Any, Callable, Iterable, Mapping, Sequence, SupportsAbs, Optional ++from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs def _parse_boolean(val: str) -> str | bool: ... def parse_boolean(val: str) -> str | bool: ... From 2638df430202dea58b4e36eaaac596350fd80e2f Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Wed, 18 Sep 2024 11:27:03 +0300 Subject: [PATCH 11/16] Removed plus sign --- airflow/providers/common/sql/operators/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index 7e58539758151..a19e7aa8e15fa 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -20,7 +20,7 @@ import ast import re from functools import cached_property -+from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs from airflow.exceptions import AirflowException, AirflowFailException from airflow.hooks.base import BaseHook From de60b4c659343bb9e481a243ae3de3bff11fd6a0 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Wed, 18 Sep 2024 11:27:38 +0300 Subject: [PATCH 12/16] Removed plus sign --- airflow/providers/common/sql/operators/sql.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index 6d1e45f029180..c531a415327ff 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -47,7 +47,7 @@ from airflow.providers.openlineage.extractors import OperatorLineage as Operator from airflow.utils.context import Context as Context from airflow.utils.helpers import merge_dicts as merge_dicts from functools import cached_property as cached_property -+from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs def _parse_boolean(val: str) -> str | bool: ... def parse_boolean(val: str) -> str | bool: ... From d8983e932473d17475595484cbdae64ed031b392 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:22:14 +0300 Subject: [PATCH 13/16] Conformed to pep8 --- airflow/providers/common/sql/operators/sql.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index a19e7aa8e15fa..b76478e02e3db 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -20,7 +20,7 @@ import ast import re from functools import cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs from airflow.exceptions import AirflowException, AirflowFailException from airflow.hooks.base import BaseHook @@ -221,7 +221,7 @@ def __init__( sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], Optional[list[tuple]]] = fetch_all_handler, + handler: Callable[[Any], list[tuple]] | None = fetch_all_handler, conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From 220e6ae3e0d05e0b7c902e8a3408300a8543b503 Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:23:47 +0300 Subject: [PATCH 14/16] Update sql.pyi --- airflow/providers/common/sql/operators/sql.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index c531a415327ff..4013769de6648 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -47,7 +47,7 @@ from airflow.providers.openlineage.extractors import OperatorLineage as Operator from airflow.utils.context import Context as Context from airflow.utils.helpers import merge_dicts as merge_dicts from functools import cached_property as cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Optional, Sequence, SupportsAbs +from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs def _parse_boolean(val: str) -> str | bool: ... def parse_boolean(val: str) -> str | bool: ... @@ -89,7 +89,7 @@ class SQLExecuteQueryOperator(BaseSQLOperator): sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], Optional[list[tuple]]] = ..., + handler: Callable[[Any], list[tuple] | None] = ..., conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From 271e98725e366b181dfdde5c47b69dff8f24d2ba Mon Sep 17 00:00:00 2001 From: Ariel Grosh <68560356+Ariel2400@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:28:19 +0300 Subject: [PATCH 15/16] Fixed bad type error --- airflow/providers/common/sql/operators/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.py b/airflow/providers/common/sql/operators/sql.py index b76478e02e3db..fa1539e7250a5 100644 --- a/airflow/providers/common/sql/operators/sql.py +++ b/airflow/providers/common/sql/operators/sql.py @@ -221,7 +221,7 @@ def __init__( sql: str | list[str], autocommit: bool = False, parameters: Mapping | Iterable | None = None, - handler: Callable[[Any], list[tuple]] | None = fetch_all_handler, + handler: Callable[[Any], list[tuple] | None] = fetch_all_handler, conn_id: str | None = None, database: str | None = None, split_statements: bool | None = None, From b579a13fe6b2ba9021404387738f4ee0f0610acc Mon Sep 17 00:00:00 2001 From: rom sharon <33751805+romsharon98@users.noreply.github.com> Date: Sun, 22 Sep 2024 20:54:15 +0300 Subject: [PATCH 16/16] Update sql.pyi Co author: rom sharon @romsharon --- airflow/providers/common/sql/operators/sql.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/common/sql/operators/sql.pyi b/airflow/providers/common/sql/operators/sql.pyi index 4013769de6648..0a63ccaa7cc38 100644 --- a/airflow/providers/common/sql/operators/sql.pyi +++ b/airflow/providers/common/sql/operators/sql.pyi @@ -47,7 +47,7 @@ from airflow.providers.openlineage.extractors import OperatorLineage as Operator from airflow.utils.context import Context as Context from airflow.utils.helpers import merge_dicts as merge_dicts from functools import cached_property as cached_property -from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs +from typing import Any, Callable, Iterable, Mapping, Sequence, SupportsAbs def _parse_boolean(val: str) -> str | bool: ... def parse_boolean(val: str) -> str | bool: ...