apache-airflow-providers-common-sql 1.28.0rc1__tar.gz → 1.28.1rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-common-sql might be problematic. Click here for more details.
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/PKG-INFO +17 -6
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/README.rst +14 -3
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/changelog.rst +15 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/index.rst +3 -3
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/provider.yaml +2 -1
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/pyproject.toml +3 -3
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/__init__.py +1 -1
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/sql.py +1 -1
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_dbapi.py +3 -5
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_sql.py +0 -2
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/test_sql.py +30 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/commits.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/conf.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/connections.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/dataframes.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/dialects.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/integration-logos/sql.png +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/operators.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/security.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/supported-database-types.rst +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/LICENSE +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/README_API.md +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/dialects/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/dialects/dialect.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/dialects/dialect.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/doc/adr/0001-record-architecture-decisions.md +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/doc/adr/0002-return-common-data-structure-from-dbapihook-derived-hooks.md +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/doc/adr/0003-introduce-notion-of-dialects-in-dbapihook.md +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/get_provider_info.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/get_provider_info.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/handlers.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/handlers.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/sql.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/sql.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/generic_transfer.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/generic_transfer.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/sensors/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/sensors/sql.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/sensors/sql.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/triggers/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/triggers/sql.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/triggers/sql.pyi +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/version_compat.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/conftest.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_generic_transfer.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_column_table_check.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_execute_query.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_insert_rows.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_threshold_check.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/dialects/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/dialects/test_dialect.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_handlers.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_sqlparse.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/test_generic_transfer.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/test_sql_execute.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/sensors/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/sensors/test_sql.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/triggers/__init__.py +0 -0
- {apache_airflow_providers_common_sql-1.28.0rc1 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/triggers/test_sql.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-common-sql
|
|
3
|
-
Version: 1.28.
|
|
3
|
+
Version: 1.28.1rc1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-common-sql for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,common.sql,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -29,8 +29,8 @@ Requires-Dist: pandas[sql-other]>=2.1.2 ; extra == "pandas" and ( python_version
|
|
|
29
29
|
Requires-Dist: pandas>=2.2.3 ; extra == "pandas" and ( python_version >="3.13")
|
|
30
30
|
Requires-Dist: polars>=1.26.0 ; extra == "polars"
|
|
31
31
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
32
|
-
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
33
|
-
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
32
|
+
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html
|
|
33
|
+
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.1
|
|
34
34
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
35
35
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
36
36
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -64,7 +64,7 @@ Provides-Extra: polars
|
|
|
64
64
|
|
|
65
65
|
Package ``apache-airflow-providers-common-sql``
|
|
66
66
|
|
|
67
|
-
Release: ``1.28.
|
|
67
|
+
Release: ``1.28.1``
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
@@ -77,7 +77,7 @@ This is a provider package for ``common.sql`` provider. All classes for this pro
|
|
|
77
77
|
are in ``airflow.providers.common.sql`` python package.
|
|
78
78
|
|
|
79
79
|
You can find package information and changelog for the provider
|
|
80
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
80
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/>`_.
|
|
81
81
|
|
|
82
82
|
Installation
|
|
83
83
|
------------
|
|
@@ -119,6 +119,17 @@ Dependent package
|
|
|
119
119
|
`apache-airflow-providers-openlineage <https://airflow.apache.org/docs/apache-airflow-providers-openlineage>`_ ``openlineage``
|
|
120
120
|
============================================================================================================== ===============
|
|
121
121
|
|
|
122
|
+
Optional dependencies
|
|
123
|
+
----------------------
|
|
124
|
+
|
|
125
|
+
=============== ================================================================================================
|
|
126
|
+
Extra Dependencies
|
|
127
|
+
=============== ================================================================================================
|
|
128
|
+
``pandas`` ``pandas[sql-other]>=2.1.2; python_version <"3.13"``, ``pandas>=2.2.3; python_version >="3.13"``
|
|
129
|
+
``openlineage`` ``apache-airflow-providers-openlineage``
|
|
130
|
+
``polars`` ``polars>=1.26.0``
|
|
131
|
+
=============== ================================================================================================
|
|
132
|
+
|
|
122
133
|
The changelog for the provider package can be found in the
|
|
123
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
134
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html>`_.
|
|
124
135
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-common-sql``
|
|
25
25
|
|
|
26
|
-
Release: ``1.28.
|
|
26
|
+
Release: ``1.28.1``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
@@ -36,7 +36,7 @@ This is a provider package for ``common.sql`` provider. All classes for this pro
|
|
|
36
36
|
are in ``airflow.providers.common.sql`` python package.
|
|
37
37
|
|
|
38
38
|
You can find package information and changelog for the provider
|
|
39
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/>`_.
|
|
40
40
|
|
|
41
41
|
Installation
|
|
42
42
|
------------
|
|
@@ -78,5 +78,16 @@ Dependent package
|
|
|
78
78
|
`apache-airflow-providers-openlineage <https://airflow.apache.org/docs/apache-airflow-providers-openlineage>`_ ``openlineage``
|
|
79
79
|
============================================================================================================== ===============
|
|
80
80
|
|
|
81
|
+
Optional dependencies
|
|
82
|
+
----------------------
|
|
83
|
+
|
|
84
|
+
=============== ================================================================================================
|
|
85
|
+
Extra Dependencies
|
|
86
|
+
=============== ================================================================================================
|
|
87
|
+
``pandas`` ``pandas[sql-other]>=2.1.2; python_version <"3.13"``, ``pandas>=2.2.3; python_version >="3.13"``
|
|
88
|
+
``openlineage`` ``apache-airflow-providers-openlineage``
|
|
89
|
+
``polars`` ``polars>=1.26.0``
|
|
90
|
+
=============== ================================================================================================
|
|
91
|
+
|
|
81
92
|
The changelog for the provider package can be found in the
|
|
82
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
93
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html>`_.
|
|
@@ -25,6 +25,21 @@
|
|
|
25
25
|
Changelog
|
|
26
26
|
---------
|
|
27
27
|
|
|
28
|
+
1.28.1
|
|
29
|
+
......
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Release Date: ``|PypiReleaseDate|``
|
|
33
|
+
|
|
34
|
+
Bug Fixes
|
|
35
|
+
~~~~~~~~~
|
|
36
|
+
|
|
37
|
+
* ``fix: rows_processor in SQLInsertRowsOperator (#55290)``
|
|
38
|
+
|
|
39
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
40
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
41
|
+
* ``Switch all airflow logging to structlog (#52651)``
|
|
42
|
+
|
|
28
43
|
1.28.0
|
|
29
44
|
......
|
|
30
45
|
|
|
@@ -79,7 +79,7 @@ apache-airflow-providers-common-sql package
|
|
|
79
79
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
Release: 1.28.
|
|
82
|
+
Release: 1.28.1
|
|
83
83
|
|
|
84
84
|
Provider package
|
|
85
85
|
----------------
|
|
@@ -133,5 +133,5 @@ Downloading official packages
|
|
|
133
133
|
You can download officially released packages and verify their checksums and signatures from the
|
|
134
134
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
135
135
|
|
|
136
|
-
* `The apache-airflow-providers-common-sql 1.28.
|
|
137
|
-
* `The apache-airflow-providers-common-sql 1.28.
|
|
136
|
+
* `The apache-airflow-providers-common-sql 1.28.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.1.tar.gz.sha512>`__)
|
|
137
|
+
* `The apache-airflow-providers-common-sql 1.28.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.1-py3-none-any.whl.sha512>`__)
|
|
@@ -22,12 +22,13 @@ description: |
|
|
|
22
22
|
`Common SQL Provider <https://en.wikipedia.org/wiki/SQL>`__
|
|
23
23
|
|
|
24
24
|
state: ready
|
|
25
|
-
source-date-epoch:
|
|
25
|
+
source-date-epoch: 1757950161
|
|
26
26
|
# Note that those versions are maintained by release manager - do not update them manually
|
|
27
27
|
# with the exception of case where other provider in sources has >= new provider version.
|
|
28
28
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
|
29
29
|
# to be done in the same PR
|
|
30
30
|
versions:
|
|
31
|
+
- 1.28.1
|
|
31
32
|
- 1.28.0
|
|
32
33
|
- 1.27.5
|
|
33
34
|
- 1.27.4
|
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-common-sql"
|
|
28
|
-
version = "1.28.
|
|
28
|
+
version = "1.28.1rc1"
|
|
29
29
|
description = "Provider package apache-airflow-providers-common-sql for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
authors = [
|
|
@@ -121,8 +121,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
121
121
|
apache-airflow-providers-standard = {workspace = true}
|
|
122
122
|
|
|
123
123
|
[project.urls]
|
|
124
|
-
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
125
|
-
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.
|
|
124
|
+
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.1"
|
|
125
|
+
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html"
|
|
126
126
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
127
127
|
"Source Code" = "https://github.com/apache/airflow"
|
|
128
128
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "1.28.
|
|
32
|
+
__version__ = "1.28.1"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.10.0"
|
|
@@ -1359,7 +1359,7 @@ class SQLInsertRowsOperator(BaseSQLOperator):
|
|
|
1359
1359
|
return self.columns
|
|
1360
1360
|
|
|
1361
1361
|
def _process_rows(self, context: Context):
|
|
1362
|
-
return self._rows_processor(
|
|
1362
|
+
return self._rows_processor(self.rows, **context) # type: ignore
|
|
1363
1363
|
|
|
1364
1364
|
def execute(self, context: Context) -> Any:
|
|
1365
1365
|
if not self.rows:
|
|
@@ -25,7 +25,6 @@ from unittest import mock
|
|
|
25
25
|
import pytest
|
|
26
26
|
from pyodbc import Cursor
|
|
27
27
|
|
|
28
|
-
from airflow.config_templates.airflow_local_settings import DEFAULT_LOGGING_CONFIG
|
|
29
28
|
from airflow.models import Connection
|
|
30
29
|
from airflow.providers.common.sql.dialects.dialect import Dialect
|
|
31
30
|
from airflow.providers.common.sql.hooks.handlers import fetch_all_handler, fetch_one_handler
|
|
@@ -71,14 +70,13 @@ class TestDbApiHook:
|
|
|
71
70
|
def get_db_log_messages(self, conn) -> None:
|
|
72
71
|
return conn.get_messages()
|
|
73
72
|
|
|
74
|
-
logging.config.dictConfig(DEFAULT_LOGGING_CONFIG)
|
|
75
73
|
logging.root.disabled = True
|
|
76
74
|
|
|
77
75
|
self.db_hook = DbApiHookMock(**kwargs)
|
|
78
76
|
self.db_hook_no_log_sql = DbApiHookMock(log_sql=False)
|
|
79
77
|
self.db_hook_schema_override = DbApiHookMock(schema="schema-override")
|
|
80
78
|
self.db_hook.supports_executemany = False
|
|
81
|
-
self.db_hook.log.setLevel(logging.DEBUG)
|
|
79
|
+
# self.db_hook.log.setLevel(logging.DEBUG)
|
|
82
80
|
|
|
83
81
|
def test_get_records(self):
|
|
84
82
|
statement = "SQL"
|
|
@@ -228,7 +226,7 @@ class TestDbApiHook:
|
|
|
228
226
|
table = "table"
|
|
229
227
|
rows = [("What's",), ("up",), ("world",)]
|
|
230
228
|
|
|
231
|
-
with caplog.at_level(logging.DEBUG):
|
|
229
|
+
with caplog.at_level(logging.DEBUG, logger="airflow.task"):
|
|
232
230
|
self.db_hook.insert_rows(table, iter(rows))
|
|
233
231
|
|
|
234
232
|
assert self.conn.close.call_count == 1
|
|
@@ -249,7 +247,7 @@ class TestDbApiHook:
|
|
|
249
247
|
table = "table"
|
|
250
248
|
rows = [("What's",), ("up",), ("world",)]
|
|
251
249
|
|
|
252
|
-
with caplog.at_level(logging.DEBUG):
|
|
250
|
+
with caplog.at_level(logging.DEBUG, "airflow.task"):
|
|
253
251
|
self.db_hook.supports_executemany = True
|
|
254
252
|
self.db_hook.insert_rows(table, iter(rows))
|
|
255
253
|
|
|
@@ -27,7 +27,6 @@ import pandas as pd
|
|
|
27
27
|
import polars as pl
|
|
28
28
|
import pytest
|
|
29
29
|
|
|
30
|
-
from airflow.config_templates.airflow_local_settings import DEFAULT_LOGGING_CONFIG
|
|
31
30
|
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
32
31
|
from airflow.models import Connection
|
|
33
32
|
from airflow.providers.common.sql.dialects.dialect import Dialect
|
|
@@ -227,7 +226,6 @@ def test_query(
|
|
|
227
226
|
|
|
228
227
|
class TestDbApiHook:
|
|
229
228
|
def setup_method(self, **kwargs):
|
|
230
|
-
logging.config.dictConfig(DEFAULT_LOGGING_CONFIG)
|
|
231
229
|
logging.root.disabled = True
|
|
232
230
|
|
|
233
231
|
@pytest.mark.db_test
|
|
@@ -43,6 +43,7 @@ from airflow.providers.common.sql.operators.sql import (
|
|
|
43
43
|
SQLCheckOperator,
|
|
44
44
|
SQLColumnCheckOperator,
|
|
45
45
|
SQLExecuteQueryOperator,
|
|
46
|
+
SQLInsertRowsOperator,
|
|
46
47
|
SQLIntervalCheckOperator,
|
|
47
48
|
SQLTableCheckOperator,
|
|
48
49
|
SQLThresholdCheckOperator,
|
|
@@ -1577,3 +1578,32 @@ class TestBaseSQLOperatorSubClass:
|
|
|
1577
1578
|
mock_get_connection.return_value.get_hook.return_value = MagicMock(spec=DbApiHook)
|
|
1578
1579
|
op.get_db_hook()
|
|
1579
1580
|
mock_get_connection.assert_called_once_with("test_conn")
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
class TestSQLInsertRowsOperator:
|
|
1584
|
+
@mock.patch.object(SQLInsertRowsOperator, "get_db_hook")
|
|
1585
|
+
def test_rows_processor(self, mock_get_db_hook):
|
|
1586
|
+
operator = SQLInsertRowsOperator(
|
|
1587
|
+
task_id="test_task",
|
|
1588
|
+
conn_id="default_conn",
|
|
1589
|
+
schema="hollywood",
|
|
1590
|
+
table_name="actors",
|
|
1591
|
+
rows=[
|
|
1592
|
+
{"index": 1, "name": "Stallone", "firstname": "Sylvester", "age": 78},
|
|
1593
|
+
{"index": 2, "name": "Statham", "firstname": "Jason", "age": 57},
|
|
1594
|
+
{"index": 3, "name": "Li", "firstname": "Jet", "age": 61},
|
|
1595
|
+
{"index": 4, "name": "Lundgren", "firstname": "Dolph", "age": 66},
|
|
1596
|
+
{"index": 5, "name": "Norris", "firstname": "Chuck", "age": 84},
|
|
1597
|
+
],
|
|
1598
|
+
rows_processor=lambda rows, **context: map(lambda row: tuple(row.values()), rows),
|
|
1599
|
+
)
|
|
1600
|
+
|
|
1601
|
+
processed_rows = list(operator._process_rows({}))
|
|
1602
|
+
|
|
1603
|
+
assert processed_rows == [
|
|
1604
|
+
(1, "Stallone", "Sylvester", 78),
|
|
1605
|
+
(2, "Statham", "Jason", 57),
|
|
1606
|
+
(3, "Li", "Jet", 61),
|
|
1607
|
+
(4, "Lundgren", "Dolph", 66),
|
|
1608
|
+
(5, "Norris", "Chuck", 84),
|
|
1609
|
+
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|