Repository navigation
v3.40.0
·
1602 commits
to master
since this release
v3.40.0 is a minor release of the 3.x maintenance line. It backports bug fixes from master (#1198). The 3.x line still supports Python 3.10 and sqlalchemy>=1.0.0.
Thanks to @greg-om for reporting the SQLAlchemy ping failure with unload=true (#1189) and fixing it (#1185).
SQLAlchemy
- With
unload=true, the connection ping (pool_pre_ping, and connection tests such as Apache Superset's) no longer fails withMISSING_COLUMN_NAME. The ping runsSELECT 1through a plainCursorinstead of the connection's default cursor, while SQLAlchemy keeps its own handling of a failed ping, includingis_disconnect()before SQLAlchemy 2.0.5 (#1185, #1189; #1200, #1199).
Cursors
PolarsCursorandAioPolarsCursorwork with Polars 2.0 (#1169, #1168). Before, every query read from a CSV result file withoutchunksizefailed withOperationalError(invalid value for 'connection'). The CSV result file is now read through PyAthena's S3 filesystem and passed to Polars as bytes, with Polars 1.x as well.- Polars 2.0 reads an UNLOAD map column as
Map, which the cursor description now reports asmap. Before, it wasstring, orarray/rowwhen the map's values were lists or structs. With Polars 1.x, a map staysarray. A struct containing a list is now described asrowinstead ofarray(#1169).
Known limitations
- A chunked UNLOAD result of
PolarsCursordescribes its columns as the UNLOAD statement'srows bigintcolumn. Master fixed this in #1012, which is not on 3.x.
What's Changed
- Backport #1185 and #1169 to 3.x by @laughingman7743 in #1198, which backports:
- Read the dialect's own queries through an API cursor and resolve federated absence from information_schema (async adapter cursor class commit only on 3.x) by @laughingman7743 in #798
- Read CSV results through fsspec for Polars 2.0 by @laughingman7743 in #1169
- fix: run ping with plain cursor by @greg-om in #1185
- Let DefaultDialect.do_ping() run the ping with the API cursor by @laughingman7743 in #1200
New Contributors
Full Changelog: v3.39.0...v3.40.0