SQLAlchemy 0.4和0.5 Oracle驱动程序的修复
项目描述
collective.saoraclefixes
修复SQLAlchemy 0.4和0.5 Oracle引号和偏移/限制问题。
此包使用从SQLAlchemy 0.6分支的回溯对SQLAlchemy Oracle驱动程序进行猴子补丁。包括的修复有
保留字。在0.6之前,没有包含Oracle特定的保留字,需要您重命名列和标签,这使得以数据库无关的方式编程变得困难。
请注意,此包中的Oracle保留字列表是SQLAlchemy 0.6中列表的超集(至少直到SQLAlchemy branches/rel_0_6 r6245)。此包包括Oracle V$RESERVED_WORDS视图中定义的半保留标识符(请点击此处查看)
绑定参数引号。使用保留字作为绑定参数需要引号。参数在生成的SQL代码中被引号引用,并且在执行过程中所有使用参数的操作都正确地使用了引号版本。
限制/偏移处理。0.6引入了一种更好的方法来实现Oracle中的查询限制和偏移,遵循推荐的Oracle实践。0.4/0.5的方法可能导致排序不正确,或者当对别名列进行排序时完全失败。
此回滚版本包括对 optimize_limits=False 语法标志的支持。有关更改的更多信息,请参阅 SQLAlchemy工单#536。
使用方法:只需将此包导入即可
import collective.saoraclefixes # apply oracle fixes
请注意,只有在使用 SQLAlchemy 0.4 和 0.5 版本时,这些补丁才会生效。所有补丁活动将通过 Python 的 logger 模块以 DEBUG 级别记录。
许可证
collective.saoraclefixes 在 MIT 许可证下分发,就像 SQLAlchemy 一样。MIT 许可证链接
鸣谢
- 回滚工作
变更日志
1.2 - 2009-08-20
在 0.4 中禁用 FromClause.default_order_by;0.5 完全移除了此功能,因为它不再需要,并且会干扰 Oracle 中 rowid 的引用。
1.1 - 2009-08-12
添加来自 0.6 的改进的 LIMIT/OFFSET 处理。
1.0 - 2009-08-05
初始发布
项目详情
collective.saoraclefixes-1.2.zip 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7d37314bf3732b4fdf80c9cebe36c997d16cd27432111429de11f7f80088fe96 |
|
MD5 | e6ed7379921d200b2899e68ed80949d9 |
|
BLAKE2b-256 | 7927d368b4510f349acad826057a6ee4f920252aa3d79693d0030cb99d280a52 |