sqlAlchemy 是 Python sql 工具箱和对象关系映射器,它为应用程序开发人员提供了 sql 的全部功能和灵活性。它提供了一整套知名的企业级持久性模式,旨在高效、高性能地访问数据库,并被适配为一种简单的 Pythonic 域语言。
orm
[orm] [bug]修正了在多态 SELECT 中多次引用 CTE 的问题,该问题可能导致同一 CTE 的多个 "克隆" 被构建,然后将这两个 CTE 触发为重复的。engine
[engine] [usecase]在 Core 中为 Connection 实现了新的 Connection.execution_options.yield_per 执行选项,以反映 ORM 中可用的相同 yield_per 选项。[engine] [bug]修正了 Result 中的错误,在使用 Connection.execution_options.stream_results 时,如果使用的 dialect 不支持明确的 "server side cursor" 设置,则不会使用缓冲的结果策略。[engine] [bug]添加了 FilterResult.yield_per(),以便 MappingResult、 ScalarResult 和 AsyncResult 等结果实现能够访问该方法。sql
[sql] [bug]调整了字符串包含函数 .contains(), .startswith(), .endswith() 的 sql 编译,以强制使用字符串连接操作符,而不是依赖加法操作符的重载mypy
[mypy] [bug]修正了 mypy 插件在默认使用 lambda 作为 Column 时的崩溃问题asyncio
[asyncio] [bug]当使用 AsyncConnection 或 AsyncSession 作为上下文管理器时,特别是在 __aexit()__ 上下文管理器退出时,为连接和会话释放过程添加了 asyncio.shield() ,在上下文管理器完成后释放对象。postgresql
[postgresql] [bug]修正了 psycopg2 dialect 中的问题,即为 #4392 实现的 "多主机" 功能,可以在查询字符串中以 ?host=host1:port1&host=host2:port2&host=host3:port3 的形式传递多个 host:port 对,但没有正确实现。misc
[bug] [types]修正了在装饰 ARRAY 数据类型时, TypeDecorator 不能正确代理 __getitem__() 操作符的问题原文:https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-1.4.40