apache-airflow-providers-common-sql 1.28.1__tar.gz → 1.28.2rc1__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.
Files changed (74) hide show
  1. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/PKG-INFO +7 -7
  2. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/README.rst +3 -3
  3. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/changelog.rst +17 -4
  4. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/index.rst +3 -3
  5. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/provider.yaml +2 -1
  6. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/pyproject.toml +4 -4
  7. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/__init__.py +1 -1
  8. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/dialects/dialect.py +12 -15
  9. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/hooks/sql.py +1 -1
  10. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/dialects/test_dialect.py +0 -1
  11. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/hooks/test_dbapi.py +1 -2
  12. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/hooks/test_sql.py +1 -2
  13. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/.latest-doc-only-change.txt +0 -0
  14. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/commits.rst +0 -0
  15. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/conf.py +0 -0
  16. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/connections.rst +0 -0
  17. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/dataframes.rst +0 -0
  18. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/dialects.rst +0 -0
  19. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/installing-providers-from-sources.rst +0 -0
  20. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/integration-logos/sql.png +0 -0
  21. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/operators.rst +0 -0
  22. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/security.rst +0 -0
  23. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/docs/supported-database-types.rst +0 -0
  24. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/__init__.py +0 -0
  25. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/__init__.py +0 -0
  26. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/__init__.py +0 -0
  27. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/LICENSE +0 -0
  28. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/README_API.md +0 -0
  29. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/dialects/__init__.py +0 -0
  30. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/dialects/dialect.pyi +0 -0
  31. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/doc/adr/0001-record-architecture-decisions.md +0 -0
  32. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/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.1 → apache_airflow_providers_common_sql-1.28.2rc1}/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.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/get_provider_info.py +0 -0
  35. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/get_provider_info.pyi +0 -0
  36. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/hooks/__init__.py +0 -0
  37. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/hooks/handlers.py +0 -0
  38. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/hooks/handlers.pyi +0 -0
  39. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/hooks/sql.pyi +0 -0
  40. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/operators/__init__.py +0 -0
  41. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/operators/generic_transfer.py +0 -0
  42. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/operators/generic_transfer.pyi +0 -0
  43. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/operators/sql.py +0 -0
  44. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/sensors/__init__.py +0 -0
  45. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/sensors/sql.py +0 -0
  46. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/sensors/sql.pyi +0 -0
  47. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/triggers/__init__.py +0 -0
  48. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/triggers/sql.py +0 -0
  49. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/triggers/sql.pyi +0 -0
  50. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/src/airflow/providers/common/sql/version_compat.py +0 -0
  51. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/conftest.py +0 -0
  52. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/__init__.py +0 -0
  53. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/__init__.py +0 -0
  54. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/sql/__init__.py +0 -0
  55. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/sql/example_generic_transfer.py +0 -0
  56. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/sql/example_sql_column_table_check.py +0 -0
  57. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/sql/example_sql_execute_query.py +0 -0
  58. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/sql/example_sql_insert_rows.py +0 -0
  59. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/system/common/sql/example_sql_threshold_check.py +0 -0
  60. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/__init__.py +0 -0
  61. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/__init__.py +0 -0
  62. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/__init__.py +0 -0
  63. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/dialects/__init__.py +0 -0
  64. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/hooks/__init__.py +0 -0
  65. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/hooks/test_handlers.py +0 -0
  66. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/hooks/test_sqlparse.py +0 -0
  67. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/operators/__init__.py +0 -0
  68. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/operators/test_generic_transfer.py +0 -0
  69. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/operators/test_sql.py +0 -0
  70. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/operators/test_sql_execute.py +0 -0
  71. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/sensors/__init__.py +0 -0
  72. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/sensors/test_sql.py +0 -0
  73. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/tests/unit/common/sql/triggers/__init__.py +0 -0
  74. {apache_airflow_providers_common_sql-1.28.1 → apache_airflow_providers_common_sql-1.28.2rc1}/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.1
3
+ Version: 1.28.2rc1
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.1/changelog.html
33
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1
32
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.2/changelog.html
33
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.2
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.1``
67
+ Release: ``1.28.2``
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.1/>`_.
80
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.2/>`_.
81
81
 
82
82
  Installation
83
83
  ------------
@@ -131,5 +131,5 @@ Extra Dependencies
131
131
  =============== ================================================================================================
132
132
 
133
133
  The changelog for the provider package can be found in the
134
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html>`_.
134
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.2/changelog.html>`_.
135
135
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-common-sql``
25
25
 
26
- Release: ``1.28.1``
26
+ Release: ``1.28.2``
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.1/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.2/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -90,4 +90,4 @@ Extra Dependencies
90
90
  =============== ================================================================================================
91
91
 
92
92
  The changelog for the provider package can be found in the
93
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html>`_.
93
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.2/changelog.html>`_.
@@ -25,11 +25,26 @@
25
25
  Changelog
26
26
  ---------
27
27
 
28
- 1.28.1
28
+ 1.28.2
29
29
  ......
30
30
 
31
+ Misc
32
+ ~~~~
33
+
34
+ * ``fix mypy type errors in common/sql provider for sqlalchemy 2 upgrade (#56824)``
35
+
36
+ Doc-only
37
+ ~~~~~~~~
38
+
39
+ * ``Remove placeholder Release Date in changelog and index files (#56056)``
40
+
41
+ .. Below changes are excluded from the changelog. Move them to
42
+ appropriate section above if needed. Do not delete the lines(!):
43
+ * ``Enable PT011 rule to prvoider tests (#56495)``
44
+
45
+ 1.28.1
46
+ ......
31
47
 
32
- Release Date: ``|PypiReleaseDate|``
33
48
 
34
49
  Bug Fixes
35
50
  ~~~~~~~~~
@@ -44,8 +59,6 @@ Bug Fixes
44
59
  ......
45
60
 
46
61
 
47
- Release Date: ``|PypiReleaseDate|``
48
-
49
62
  Features
50
63
  ~~~~~~~~
51
64
 
@@ -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.1
82
+ Release: 1.28.2
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.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>`__)
136
+ * `The apache-airflow-providers-common-sql 1.28.2 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.2.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.2.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.2.tar.gz.sha512>`__)
137
+ * `The apache-airflow-providers-common-sql 1.28.2 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.2-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.2-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_common_sql-1.28.2-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: 1757950161
25
+ source-date-epoch: 1761116577
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.2
31
32
  - 1.28.1
32
33
  - 1.28.0
33
34
  - 1.27.5
@@ -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.1"
28
+ version = "1.28.2rc1"
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.1"
125
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-common-sql/1.28.1/changelog.html"
124
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.2"
125
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-common-sql/1.28.2/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.1"
32
+ __version__ = "1.28.2"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -26,6 +26,7 @@ from airflow.utils.log.logging_mixin import LoggingMixin
26
26
 
27
27
  if TYPE_CHECKING:
28
28
  from sqlalchemy.engine import Inspector
29
+ from sqlalchemy.engine.interfaces import ReflectedColumn
29
30
 
30
31
  T = TypeVar("T")
31
32
 
@@ -85,16 +86,13 @@ class Dialect(LoggingMixin):
85
86
  return self.escape_word_format.format(word)
86
87
  return word
87
88
 
88
- def unescape_word(self, word: str | None) -> str | None:
89
+ def unescape_word(self, word: str) -> str:
89
90
  """
90
91
  Remove escape characters from each part of a dotted identifier (e.g., schema.table).
91
92
 
92
93
  :param word: Escaped schema, table, or column name, potentially with multiple segments.
93
94
  :return: The word without escaped characters.
94
95
  """
95
- if not word:
96
- return word
97
-
98
96
  escape_char_start = self.escape_word_format[0]
99
97
  escape_char_end = self.escape_word_format[-1]
100
98
 
@@ -112,20 +110,19 @@ class Dialect(LoggingMixin):
112
110
 
113
111
  @lru_cache(maxsize=None)
114
112
  def get_column_names(
115
- self, table: str, schema: str | None = None, predicate: Callable[[T], bool] = lambda column: True
113
+ self,
114
+ table: str,
115
+ schema: str | None = None,
116
+ predicate: Callable[[T | ReflectedColumn], bool] = lambda column: True,
116
117
  ) -> list[str] | None:
117
118
  if schema is None:
118
119
  table, schema = self.extract_schema_from_table(table)
119
- column_names = list(
120
- column["name"]
121
- for column in filter(
122
- predicate,
123
- self.inspector.get_columns(
124
- table_name=self.unescape_word(table),
125
- schema=self.unescape_word(schema) if schema else None,
126
- ),
127
- )
128
- )
120
+ table_name = self.unescape_word(table)
121
+ schema = self.unescape_word(schema) if schema else None
122
+ column_names = []
123
+ for column in self.inspector.get_columns(table_name=table_name, schema=schema):
124
+ if predicate(column):
125
+ column_names.append(column["name"])
129
126
  self.log.debug("Column names for table '%s': %s", table, column_names)
130
127
  return column_names
131
128
 
@@ -316,7 +316,7 @@ class DbApiHook(BaseHook):
316
316
  engine_kwargs = {}
317
317
 
318
318
  try:
319
- url = self.sqlalchemy_url
319
+ url: URL | str = self.sqlalchemy_url
320
320
  except NotImplementedError:
321
321
  url = self.get_uri()
322
322
 
@@ -57,7 +57,6 @@ class TestDialect:
57
57
  def test_unescape_word_with_different_format(self):
58
58
  self.test_db_hook.escape_word_format = "[{}]"
59
59
  dialect = Dialect(self.test_db_hook)
60
- assert not dialect.unescape_word(None)
61
60
  assert dialect.unescape_word("table") == "table"
62
61
  assert dialect.unescape_word("t@ble") == "t@ble"
63
62
  assert dialect.unescape_word("table_name") == "table_name"
@@ -577,9 +577,8 @@ class TestDbApiHook:
577
577
  assert result == [obj, obj]
578
578
 
579
579
  def test_run_no_queries(self):
580
- with pytest.raises(ValueError) as err:
580
+ with pytest.raises(ValueError, match="List of SQL statements is empty"):
581
581
  self.db_hook.run(sql=[])
582
- assert err.value.args[0] == "List of SQL statements is empty"
583
582
 
584
583
  def test_run_and_log_db_messages(self):
585
584
  statement = "SQL"
@@ -239,9 +239,8 @@ class TestDbApiHook:
239
239
  )
240
240
  def test_no_query(self, empty_statement):
241
241
  dbapi_hook = mock_db_hook(DbApiHook)
242
- with pytest.raises(ValueError) as err:
242
+ with pytest.raises(ValueError, match="List of SQL statements is empty"):
243
243
  dbapi_hook.run(sql=empty_statement)
244
- assert err.value.args[0] == "List of SQL statements is empty"
245
244
 
246
245
  @pytest.mark.db_test
247
246
  def test_placeholder_config_from_extra(self):