dependabot[bot] opened a new pull request, #45111: URL: https://github.com/apache/superset/pull/45111
Updates the requirements on [pyathena](https://github.com/pyathena-dev/PyAthena) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pyathena-dev/PyAthena/releases">pyathena's releases</a>.</em></p> <blockquote> <p>v3.37.0 is a minor release of the 3.x maintenance line. It backports the SQLAlchemy ARRAY support and fixes from master (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/893">#893</a>). The 3.x line keeps supporting Python 3.10 and <code>sqlalchemy>=1.0.0</code>.</p> <h2>SQLAlchemy</h2> <ul> <li>Reflected <code>array<...></code> columns are <code>AthenaArray</code> with their element types, instead of <code>String</code>, and <code>types.ARRAY</code> maps to <code>AthenaArray</code> (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/774">#774</a>).</li> <li>SQLAlchemy ARRAY values, expressions (indexing, slices, concatenation, ANY/ALL), and partial updates are supported (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/774">#774</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/775">#775</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/776">#776</a>).</li> <li>Behavior changes for SQLAlchemy queries that select ARRAY values (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/774">#774</a>): <ul> <li>Typed SELECT results are decoded through a JSON projection, so rewritten queries need explicit SELECT columns, and literal SQL expressions need labels.</li> <li>Textual ORDER BY supports selected names, lists of them, and ordinals. Use SQLAlchemy expressions for other orderings.</li> <li>Raw SQL and arrays with unknown element types keep the documented cursor fallback.</li> <li>ARRAY binds of decimal values require an explicit <code>Numeric</code> precision and scale, to prevent silent rounding.</li> </ul> </li> <li><code>CREATE TABLE</code> renders STRUCT column types, including STRUCT values inside MAP and ARRAY, as Hive <code>STRUCT<name:type></code>. Athena rejected the previous <code>ROW(...)</code> output (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/870">#870</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/855">#855</a>). Thanks to <a href="https://github.com/mvanhorn"><code>@mvanhorn</code></a> for the fix and <a href="https://github.com/aminghadersohi"><code>@aminghadersohi</code></a> for the report. Integers inside ARRAY, MAP, and STRUCT column types render as <code>INT</code>. Code that compares compiled DDL strings must expect <code>STRUCT<...></code> and <code>INT</code>.</li> <li><code>CAST</code> to <code>Double</code> or <code>DOUBLE_PRECISION</code> renders <code>DOUBLE</code> instead of the 32-bit <code>REAL</code> (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/826">#826</a>).</li> <li>The ARRAY support was checked at compile level on SQLAlchemy 1.4.54. The test suite runs on SQLAlchemy 2.0.</li> </ul> <h2>Cursors</h2> <ul> <li>CSV result sets keep binary NULLs as <code>None</code> (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/770">#770</a>).</li> </ul> <h2>Development</h2> <ul> <li>The Test workflow runs the AWS suites only for ready pull requests, on the newest Python version (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/789">#789</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/837">#837</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/863">#863</a>). Tests are rerun once on Athena service-side failures (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/811">#811</a>), and each test session uses its own S3 Tables namespace (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/815">#815</a>).</li> <li>The Release workflow runs every suite on every supported Python version before publishing (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/862">#862</a>).</li> </ul> <h2>What's Changed</h2> <ul> <li>Backport CI and SQLAlchemy changes to 3.x for v3.37.0 by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/893">pyathena-dev/PyAthena#893</a>, which backports these master pull requests: <ul> <li>Enable Iceberg UPDATE target subquery compliance by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/769">pyathena-dev/PyAthena#769</a></li> <li>Restore SQLAlchemy CTE compliance coverage by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/772">pyathena-dev/PyAthena#772</a></li> <li>Restore SQLAlchemy binary compliance and preserve CSV binary NULLs by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/770">pyathena-dev/PyAthena#770</a></li> <li>Skip AWS integration jobs for external fork pull requests by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/789">pyathena-dev/PyAthena#789</a></li> <li>Support native SQLAlchemy ARRAY types and typed round trips by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/774">pyathena-dev/PyAthena#774</a></li> <li>Support SQLAlchemy ARRAY expressions in SELECT and WHERE by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/775">pyathena-dev/PyAthena#775</a></li> <li>Support SQLAlchemy ARRAY partial UPDATE and slice resizing by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/776">pyathena-dev/PyAthena#776</a></li> <li>Rerun tests once on Athena service-side query failures by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/811">pyathena-dev/PyAthena#811</a></li> <li>Give each test session its own S3 Tables namespace by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/815">pyathena-dev/PyAthena#815</a></li> <li>Run the three test suites in parallel by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/814">pyathena-dev/PyAthena#814</a></li> <li>Re-enable SQLAlchemy parameter and SQL rendering compliance tests by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/825">pyathena-dev/PyAthena#825</a></li> <li>SQLAlchemy compliance: audit numeric range and float precision by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/826">pyathena-dev/PyAthena#826</a></li> <li>Run AWS test suites only on ready pull requests and related changes by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/837">pyathena-dev/PyAthena#837</a></li> <li>Run pull-request AWS tests on the newest Python version only by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/863">pyathena-dev/PyAthena#863</a></li> <li>Run the full test matrix in the Release workflow before publishing by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/862">pyathena-dev/PyAthena#862</a></li> <li>Set up the PyAthena test fixtures only in processes that run tests by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/866">pyathena-dev/PyAthena#866</a></li> <li>Insert SQLAlchemy compliance fixture rows once for read-only classes by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/867">pyathena-dev/PyAthena#867</a></li> <li>Give the executemany and partition tests their own tables by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/873">pyathena-dev/PyAthena#873</a></li> <li>fix: render Hive STRUCT syntax in table column DDL by <a href="https://github.com/mvanhorn"><code>@mvanhorn</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/870">pyathena-dev/PyAthena#870</a></li> </ul> </li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/mvanhorn"><code>@mvanhorn</code></a> made their first contribution in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/870">pyathena-dev/PyAthena#870</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pyathena-dev/PyAthena/compare/v3.36.0...v3.37.0">https://github.com/pyathena-dev/PyAthena/compare/v3.36.0...v3.37.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/d6fe83634e690e6aa879dd74abd8f852071b8f75"><code>d6fe836</code></a> Merge pull request <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/893">#893</a> from pyathena-dev/backport/3.x-v3.37.0</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/e3ec1a953c6eadadc8c498dd2e7956775a194b36"><code>e3ec1a9</code></a> Keep the ARRAY support working on SQLAlchemy 1.x (3.x only)</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/39163451e3c0a4b53fb270df1e3d686a10d48bc6"><code>3916345</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/870">#870</a>: fix: render Hive STRUCT syntax in table column DDL</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/08645a10e41d69351d91b9076985905256cf5ecb"><code>08645a1</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/873">#873</a>: Give the executemany and partition tests their own tables</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/f0380bfb578a87d8cc2b133a4baed4af3ca2294d"><code>f0380bf</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/867">#867</a>: Insert SQLAlchemy compliance fixture rows once for read-only c...</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/caaae8fba1d69b96c12b428d84af24203c4f6785"><code>caaae8f</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/866">#866</a>: Set up the PyAthena test fixtures only in processes that run t...</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/8340b4e07477aba3f62024313c730e4f3a00c077"><code>8340b4e</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/862">#862</a>: Run the full test matrix in the Release workflow before publis...</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/91c922b96eff817189d2fae14d1be9b3e96a5a2a"><code>91c922b</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/863">#863</a>: Run pull-request AWS tests on the newest Python version only</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/70a763d0bcfc83e70fea1e78948f0c2538641bdc"><code>70a763d</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/837">#837</a>: Run AWS test suites only on ready pull requests and related ch...</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/c4dfbbd1003f09e9446fd1b9855598f71b3a3dc5"><code>c4dfbbd</code></a> Backport <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/826">#826</a>: SQLAlchemy compliance: audit numeric range and float precision</li> <li>Additional commits viewable in <a href="https://github.com/pyathena-dev/PyAthena/compare/v3.36.0...v3.37.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
