typing
-
[typing] [bug]
修复了 ORM 映射类和别名实体在结果行映射中不能用作键或在 SELECT 语句中不能用作连接目标的问题。诸如
row._mapping[User]、row._mapping[aliased(User)]、row._mapping[with_polymorphic(...)](被 mypy 和 Pylance 拒绝)、.join(aliased(User))(被 Pylance 拒绝)的模式在运行时被记录并完全支持,但之前被类型检查器拒绝。_KeyType和_FromClauseArgument的类型定义已更新,以接受这些 ORM 实体类型。References: #13075 参考资料:#13075
postgresql
-
[postgresql] [bug]
修复了在使用较新的 PostgreSQL 驱动(如 psycopg)时,PostgreSQL JSONB 运算符
Comparator.path_match()和Comparator.path_exists()在右侧操作数上应用不正确的VARCHAR类型转换的问题。现在这些运算符会指示右侧的类型为JSONPATH,目前这会导致不进行任何类型转换,但也兼容后续可能需要的显式类型转换。References: #13059 参考资料:#13059
-
[postgresql] [bug]
修复了 PostgreSQL 方言中的回归问题,其中 JSONB 订阅语法在处理返回 JSONB 的
cast()表达式时会生成不正确的 SQL,导致语法错误。现在该方言在使用[]订阅语法时,会正确地将类型转换表达式括起来,生成(CAST(...))[index]而不是CAST(...)[index]以符合 PostgreSQL 的语法要求。这扩展了#12778 中的修复,该修复解决了函数调用中的相同问题。References: #13067 参考文献:#13067
-
[postgresql] [bug]
改进了 PostgreSQL 方言使用的外键反射正则表达式模式,使其在匹配标识符字符时更加宽松,允许它正确处理表名和列名中的 Unicode 字符。此更改提高了与可能在其标识符中使用不同引号模式的 PostgreSQL 变体(如 CockroachDB)的兼容性。此拉取请求由 Gord Thompson 提供。
mariadb
-
[mariadb] [bug]
修复了在
Sequence上将Sequence.cycle# 设置为 False 时,mariadb 序列“NOCYCLE”关键字应发出的 SQL 编译问题。此修复由 Diego Dupin 提供的拉取请求。References: #13070 参考资料:#13070
sqlite
-
[sqlite] [bug]
解决了在 aiosqlite 驱动器中的一个问题:由于 aiosqlite 架构在版本 0.22.0 中移动了工作线程的位置,SQLAlchemy 将 aiosqlite 的工作线程设置为“daemon”停止工作。这个“daemon”标志是必要的,以便程序能够在 SQLite 连接本身没有被显式关闭的情况下退出,这在 SQLAlchemy 中尤其可能发生,因为 SQLAlchemy 在连接池中维护 SQLite 连接。虽然调用
AsyncEngine.dispose()在程序退出前是完全可以的,但这在历史上或技术上对任何已知后端的任何驱动器都不是必要的,因为关系数据库的主要特性是持久性。该更改还实现了在使用版本 0.22.1 或更高版本时对 aiosqlite 的“terminate”支持,该支持实现了同步.stop()方法。References: #13039 参考文献:#13039
Linuxeden开源社区