SQLAlchemy 1.4.40 发布,Python ORM 框架

SQLAlchemy 是 Python SQL 工具箱和对象关系映射器,它为应用程序开发人员提供了 SQL 的全部功能和灵活性。它提供了一整套知名的企业级持久性模式,旨在高效、高性能地访问数据库,并被适配为一种简单的 Pythonic 域语言。

SQLAlchemy 1.4.40 版本的更新内容如下:

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

相关文章

Python中的函数(二) 在上一篇文章中提到了Python中函数的定...
Python中的字符串 可能大多数人在学习C语言的时候,最先接触...
Python 面向对象编程(一) 虽然Python是解释性语言,但是它...
Python面向对象编程(二) 在前面一篇文章中谈到了类的基本定...
Python中的函数(一) 接触过C语言的朋友对函数这个词肯定非...
在windows下如何快速搭建web.py开发框架 用Python进行web开发...