apache-airflow-providers-common-sql 1.28.0__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.

Files changed (74) hide show
  1. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/PKG-INFO +18 -7
  2. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/README.rst +14 -3
  3. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/changelog.rst +15 -0
  4. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/index.rst +3 -3
  5. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/provider.yaml +2 -1
  6. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/pyproject.toml +4 -4
  7. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/__init__.py +1 -1
  8. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/sql.py +1 -1
  9. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_dbapi.py +3 -5
  10. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_sql.py +0 -2
  11. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/test_sql.py +30 -0
  12. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/.latest-doc-only-change.txt +0 -0
  13. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/commits.rst +0 -0
  14. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/conf.py +0 -0
  15. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/connections.rst +0 -0
  16. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/dataframes.rst +0 -0
  17. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/dialects.rst +0 -0
  18. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/installing-providers-from-sources.rst +0 -0
  19. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/integration-logos/sql.png +0 -0
  20. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/operators.rst +0 -0
  21. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/security.rst +0 -0
  22. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/docs/supported-database-types.rst +0 -0
  23. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/__init__.py +0 -0
  24. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/__init__.py +0 -0
  25. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/__init__.py +0 -0
  26. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/LICENSE +0 -0
  27. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/README_API.md +0 -0
  28. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/dialects/__init__.py +0 -0
  29. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/dialects/dialect.py +0 -0
  30. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/dialects/dialect.pyi +0 -0
  31. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/doc/adr/0001-record-architecture-decisions.md +0 -0
  32. {apache_airflow_providers_common_sql-1.28.0 → 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
  33. {apache_airflow_providers_common_sql-1.28.0 → 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
  34. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/get_provider_info.py +0 -0
  35. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/get_provider_info.pyi +0 -0
  36. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/__init__.py +0 -0
  37. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/handlers.py +0 -0
  38. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/handlers.pyi +0 -0
  39. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/sql.py +0 -0
  40. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/hooks/sql.pyi +0 -0
  41. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/__init__.py +0 -0
  42. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/generic_transfer.py +0 -0
  43. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/operators/generic_transfer.pyi +0 -0
  44. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/sensors/__init__.py +0 -0
  45. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/sensors/sql.py +0 -0
  46. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/sensors/sql.pyi +0 -0
  47. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/triggers/__init__.py +0 -0
  48. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/triggers/sql.py +0 -0
  49. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/triggers/sql.pyi +0 -0
  50. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/src/airflow/providers/common/sql/version_compat.py +0 -0
  51. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/conftest.py +0 -0
  52. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/__init__.py +0 -0
  53. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/__init__.py +0 -0
  54. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/__init__.py +0 -0
  55. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_generic_transfer.py +0 -0
  56. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_column_table_check.py +0 -0
  57. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_execute_query.py +0 -0
  58. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_insert_rows.py +0 -0
  59. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/system/common/sql/example_sql_threshold_check.py +0 -0
  60. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/__init__.py +0 -0
  61. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/__init__.py +0 -0
  62. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/__init__.py +0 -0
  63. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/dialects/__init__.py +0 -0
  64. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/dialects/test_dialect.py +0 -0
  65. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/__init__.py +0 -0
  66. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_handlers.py +0 -0
  67. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/hooks/test_sqlparse.py +0 -0
  68. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/__init__.py +0 -0
  69. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/test_generic_transfer.py +0 -0
  70. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/operators/test_sql_execute.py +0 -0
  71. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/sensors/__init__.py +0 -0
  72. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/sensors/test_sql.py +0 -0
  73. {apache_airflow_providers_common_sql-1.28.0 → apache_airflow_providers_common_sql-1.28.1rc1}/tests/unit/common/sql/triggers/__init__.py +0 -0
  74. {apache_airflow_providers_common_sql-1.28.0 → 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.0
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>
@@ -20,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
- Requires-Dist: apache-airflow>=2.10.0
23
+ Requires-Dist: apache-airflow>=2.10.0rc1
24
24
  Requires-Dist: sqlparse>=0.5.1
25
25
  Requires-Dist: more-itertools>=9.0.0
26
26
  Requires-Dist: methodtools>=0.4.7
@@ -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.apache.org/docs/apache-airflow-providers-common-sql/1.28.0/changelog.html
33
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.0
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.0``
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.0/>`_.
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.0/changelog.html>`_.
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.0``
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.0/>`_.
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.0/changelog.html>`_.
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.0
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.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.0.tar.gz.sha512>`__)
137
- * `The apache-airflow-providers-common-sql 1.28.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.0-py3-none-any.whl.sha512>`__)
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: 1756876759
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.0"
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 = [
@@ -57,7 +57,7 @@ requires-python = ">=3.10"
57
57
  # Make sure to run ``prek update-providers-dependencies --all-files``
58
58
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
59
59
  dependencies = [
60
- "apache-airflow>=2.10.0",
60
+ "apache-airflow>=2.10.0rc1",
61
61
  "sqlparse>=0.5.1",
62
62
  "more-itertools>=9.0.0",
63
63
  # The methodtools dependency is necessary since the introduction of dialects:
@@ -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.apache.org/docs/apache-airflow-providers-common-sql/1.28.0"
125
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.0/changelog.html"
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.0"
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(context, self.rows) # type: ignore
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
+ ]