[orm] [bug] ¶
修复了“更新后”功能中的问题,即在父对象已被删除但依赖对象未被删除时发出更新。这个问题已经存在很长一段时间了,但是自从1.2声明了与post_更新匹配的行之后,这就产生了一个错误。
References: #4187
[orm] [bug] ¶
修复问题导致的修复回归 #4116 影响1.2.2版和1.1.15版,这会导致错误计算 AssociationProxy
作为 NoneType
在某些声明性混合/继承情况下,以及如果从未映射的类访问关联代理,则为类。“找出所有者”逻辑已被一个深入的例程替换,该例程通过分配给类或子类的完整映射器层次结构进行搜索,以确定正确的(我们希望)匹配;如果找不到匹配,则不会分配所有者。如果代理用于未映射的实例,则现在会引发异常。
References: #4185
[orm] [bug] ¶
修复了在嵌套或子事务回滚过程中删除的对象(该对象的主键也发生了变化)无法从会话中正确删除的错误,从而导致在使用会话时出现后续问题。
References: #4151
[sql] [bug] ¶
补充 nullsfirst()
和 nullslast()
作为顶级导入 sqlalchemy.
和 sqlalchemy.sql.
命名空间。拉取请求由Lele Gaifax提供。
[sql] [bug] ¶
固定错误 Insert.values()
其中结合使用“多值”格式 Column
对象作为键而不是字符串将失败。拉车请求由Aubrey Stark Toller提供。
References: #4162
[bug] [pool] ¶
修复了一个相当严重的连接池错误,其中用户定义的连接刷新后获得的连接 DisconnectionError
或者,由于1.2发布的“pre-pung”功能,如果通过weakref cleanup将连接返回到池中(例如,前向对象被垃圾收集),则无法正确重置;weakref仍将引用以前无效的dbapi连接,而该连接将错误地调用重置操作。这将导致日志中的堆栈跟踪和在不重置的情况下签入池的连接,这可能导致锁定问题。
References: #4184
[orm] [bug] [ext] ¶
修正了关联代理无意中链接到 AliasedClass
对象,如果首先使用 AliasedClass
作为父级,在后续使用时导致错误。
References: #4116
[orm] [bug] ¶
修复了ORM关系警告继承层次结构中的兄弟类发生冲突的同步目标(例如,两个关系都将写入同一列)的错误,因为这两个关系在写入期间实际上不会发生冲突。
References: #4078
[orm] [bug] ¶
修复了针对单个表继承实体使用的相关select在外部查询中无法正确呈现的错误,因为对单个继承鉴别器条件的调整不适当地将条件重新应用到外部查询。
References: #4103
[orm] [declarative] [bug] ¶
修复了一个缺陷,其中描述符位于基于 AbstractConcreteBase
在刷新操作期间被引用,导致错误,因为属性未映射为映射器属性。对于其他属性(如由添加的“type”列),也可能出现类似的问题。 AbstractConcreteBase
但是,如果类未能在其映射器中包含“concrete=true”,则此处的检查也应防止该场景导致问题。
References: #4124
[sql] [bug] ¶
固定错误在哪里 __repr__
属于 ColumnDefault
如果参数是元组,则会失败。拉车请求,由Nicolas Caniart提供。
References: #4126
[sql] [bug] ¶
修复了最近添加的错误 ColumnOperators.any_()
和 ColumnOperators.all_()
方法作为方法调用时无法工作,而不是使用独立函数 any_()
和 all_()
. 还为这些相对非抽象的SQL运算符添加了文档示例。
References: #4093
[postgresql] [bug] ¶
对 ARRAY
与collate结合使用的类,如 #4006 无法容纳多维数组。
References: #4006
[postgresql] [bug] ¶
固定错误 array_agg
传递已为类型的参数的函数 ARRAY
如PostgreSQL array
构造,将生成 ValueError
,因为函数试图嵌套数组。
References: #4107
[postgresql] [bug] ¶
修复了PostgreSQL中的错误 Insert.on_conflict_do_update()
这将阻止INSERT语句用作CTE,例如VIA Insert.cte()
在另一个语句中。
References: #4074
[mysql] [bug] ¶
当检测到Mariadb 10.2.8或10.2系列中的更早版本时发出警告,因为在这些版本中存在检查约束的主要问题,这些问题已在10.2.9版本中解决。
请注意,此changelog消息不是用sqlacalchemy 1.2.0b3发布的,并且是逆向添加的。
References: #4097
[mysql] [bug] ¶
MySQL5.7.20现在警告使用@tx_隔离变量;现在执行版本检查并使用@transaction_隔离来防止此警告。
References: #4120
[mysql] [bug] ¶
修正了当前的时间戳在MariaDB 10.2系列中由于语法变化而不能正确反映的问题,其中函数现在表示为 current_timestamp()
.
References: #4096
[mysql] [bug] ¶
MariaDB 10.2现在支持CHECK约束(警告:由于 #4097 ). 现在,当这些检查约束出现在 SHOW CREATE TABLE
输出。
References: #4098
[orm] [bug] ¶
固定错误 Session.merge()
沿着类似于 #4030 ,如果在合并例程实际检索对象之前立即对目标对象进行垃圾收集,则对标识映射中的目标对象进行内部检查可能会导致错误。
References: #4069
[orm] [bug] ¶
修复了一个 undefer_group()
如果该选项从使用联接的预加载进行加载的关系扩展,则无法识别该选项。此外,由于错误导致执行的工作量过大,在结果集列的初始计算中,python函数调用计数也提高了20%,补充了 #3915 .
References: #4048
[orm] [bug] ¶
ORM标识映射中的固定争用条件,这将导致在加载操作期间不适当地删除对象,从而导致重复的对象标识发生,特别是在涉及对象重复数据消除的联合的热切加载下。这个问题专门针对弱引用的垃圾收集,并且只在Pypy解释器下观察到。
References: #4068
[orm] [bug] ¶
固定错误 Session.merge()
其中集合中主键属性设置为的对象 None
对于通常是自动增量的密钥,将被视为内部重复数据消除过程的一部分的数据库持久化密钥,导致只有一个对象实际插入到数据库中。
References: #4056
[orm] [bug] ¶
安 InvalidRequestError
当a synonym()
用于不针对 MapperProperty
,例如关联代理。以前,如果试图定位不存在的属性,就会发生递归溢出。
References: #4067
[oracle] [bug] [performance] [py2k] ¶
修正导致的固定性能回归 #3937 其中,从5.3版开始的cx_Oracle删除了 .UNICODE
名称空间中的符号,该符号被解释为cx_oracle的“with_unicode”模式被无条件打开,它调用sqlAlchemy端的函数,该函数无条件地将所有字符串转换为unicode并造成性能影响。事实上,根据cx-oracle的作者,从5.1开始,“with-unicode”模式已经被完全删除,因此,如果在python 2下检测到cx-oracle 5.1或更高版本,则不再需要昂贵的unicode转换函数,并且禁用这些函数。在下删除的针对“with_unicode”模式的警告 #3937 也会恢复。
This change is also backported to: 1.0.19
References: #4035
[orm] [bug] ¶
修正了从1.1.11开始的回归,其中向包含具有子查询加载关系的实体的查询中添加额外的非实体列将失败,因为1.1.11中添加的检查是由于 #4011 .
References: #4033
[orm] [bug] ¶
修正了1.1中添加的JSON空评估逻辑作为 #3514 如果逻辑不支持与 Column
那是地图。
References: #4031
[orm] [bug] ¶
补充 KeyError
检查中的所有方法 WeakInstanceDict
哪里有支票 key in dict
然后是对该键的索引访问,以防止垃圾收集争用,因为在加载时,在代码假定该键存在后,可以从dict中删除该键,从而导致非常罕见的 KeyError
加薪。
References: #4030
[oracle] [feature] [postgresql] ¶
添加新关键字 Sequence.cache
和 Sequence.order
到 Sequence
,以允许呈现Oracle和PostgreSQL理解的缓存参数,以及Oracle理解的顺序参数。拉车请求由David Moore提供。
[sql] [bug] ¶
修复了在 WithinGroup
在结构迭代期间构造。
References: #4012
[schema] [bug] ¶
安 ArgumentError
如果一个 ForeignKeyConstraint
对象是用不匹配的“本地”列和“远程”列创建的,否则会导致约束的内部状态不正确。注意,这也会影响方言的反射过程为外键约束生成一组不匹配的列的条件。
References: #3949
[postgresql] [bug] ¶
为grant、revoke关键字添加了“autocommit”支持。拉扯请求由雅各布·海斯提供。
[sql] [bug] ¶
由于 #3859 其中对表达式的“右侧”评估的调整基于 Variant
为了遵守底层类型的“右侧”规则,导致 Variant
在这种情况下,当我们 do 希望将左侧类型直接传输到右侧,以便可以将绑定级别规则应用于表达式的参数。
References: #3952
[sql] [bug] [postgresql] ¶
改变了 ResultProxy
无条件地延迟“自动关闭”步骤,直到 Connection
对对象执行;如果postgresql on conflict with returning不返回任何行,则在以前不存在的用例中会发生autoclose,导致插入/更新/删除时无条件发生的常规autocommit行为失败。
References: #3955
[bug] [ext] ¶
由于 #3950 在“模式类型”或 TypeDecorator
如果映射还包含 column_property
.
References: #3956
[postgresql] [bug] ¶
增加了对“PostgreSQL 10devel”等开发版本的PostgreSQL版本字符串解析的支持。请示肖恩·麦卡利。
[bug] [ext] ¶
固定错误 sqlalchemy.ext.mutable
何处 Mutable.as_mutable()
方法不会跟踪已使用 TypeEngine.copy()
. 与1.0相比,这在1.1中更像是回归,因为 TypeDecorator
类现在是的子类 SchemaEventTarget
其中一件事向父母表明 Column
当 Column
是。在混合类或抽象类中使用声明性时,这些副本很常见。
References: #3950
[bug] [ext] ¶
增加了对绑定参数的支持,例如通常通过 Query.params()
,到 Result.count()
方法。以前,对参数的支持被省略了。拉请求由帕特·迪根提供。
[orm] [feature] ¶
安 aliased()
现在可以将构造传递给 Query.select_entity_from()
方法。实体将从由 aliased()
构建。这允许特殊选项 aliased()
如 aliased.adapt_on_names
配合使用 Query.select_entity_from()
.
References: #3933
[orm] [bug] ¶
修正了由于通过 #3915 . 内部集合 Column
对象可以在别名对象上不适当地重新生成,当它试图呈现SQL和收集结果并导致属性错误时,会混淆连接的热切加载程序。现在,在别名对象被缓存并在线程之间共享之前,将预先生成集合。
References: #3947
[engine] [bug] ¶
添加了一个异常处理程序,当的“autorollback”功能 Connection
它本身引发了一个异常。在py3k中,解释器自然会报告这两个异常,一个发生在处理另一个异常的过程中。这将继续回滚失败处理的一系列更改,这些更改是作为 #2696 1.0.12。
References: #3946
[sql] [bug] [postgresql] ¶
增加了对 Variant
以及 SchemaType
相互兼容的对象。也就是说,可以针对类似 Enum
,以及创建约束和/或数据库特定类型对象的说明将根据变量的方言映射正确传播。
References: #2892
[sql] [bug] ¶
修复了编译器中的错误,其中保存点的字符串标识符将缓存在标识符引用字典中;由于这些标识符是任意的,因此如果单个标识符 Connection
使用了无限数量的保存点,以及如果savepoint子句构造直接与无限数量的保存点名称一起使用。内存泄漏会 not 影响绝大多数案例,通常 Connection
它以一个以“1”开头的简单计数器呈现保存点名称,在被丢弃之前,在每个事务或每个固定事务数的基础上使用。
References: #3931
[sql] [bug] ¶
修复了新的“模式转换”功能中的错误,在该功能中,转换后的模式名称将在与列表达式一起呈现时以别名的形式调用;仅当源转换名称为“无”时才发生。“模式转换”功能现在只对 SchemaItem
和 SchemaType
子类,即对应于数据库中DDL可创建结构的对象。
References: #3924
[orm] [bug] ¶
解决了自早期版本以来,由于抽象的增加而积累起来的联合的热切装载器查询构造系统中的一些长期无人值守的性能问题。特设的使用 AliasedClass
每个查询的对象每次都会产生大量的列查找开销,已被缓存方法所取代,该方法利用 AliasedClass
在联接的预加载调用之间重用的对象。并对一些涉及到急连路径构造的力学问题进行了优化。端到端查询构造+具有最坏情况的联合加载器方案的单行提取测试的调用计数已减少约60%,与0.8.6相比减少了1.1.5%和42%。
References: #3915
[orm] [bug] ¶
修正了“急用默认值”功能中的一个主要低效性,即当ORM显式地插入了空值的列值(对应于对象上未设置但未指定任何服务器默认值的属性)以及更新时过期的属性(尽管没有服务器ONUP),将发出不必要的选择。设置日期。由于这些列不是热心的默认值尝试使用的返回的一部分,因此它们也不应该被后置选择。
References: #3909
[orm] [bug] ¶
修复了两个密切相关的bug,包括映射器的eager-eager-defaults标志和单表继承;一个bug中的eager-defaults逻辑会无意中尝试访问映射器的“exclude-properties”列表(由eager-defaults获取期间的单表继承声明性使用)的一部分的列,另一个bug如果为了获取默认值而完全加载行,将无法使用正确的继承映射器。
References: #3908
[orm] [bug] ¶
修正了0.9.7中由于 #3106 这将导致在某些形式的多级子查询中针对别名实体加载不正确的查询,在最里面的子查询中包含不必要的额外FROM实体。
References: #3893
[sql] [bug] ¶
修正了 DDLEvents.column_reflect()
事件不允许将非文本表达式作为新列的“默认”值传递,例如 FetchedValue
对象以指示一般触发的默认值或 text()
构建。澄清了这方面的文件。
References: #3905
[postgresql] [bug] ¶
为“import foreign schema”、“refresh materialized view”postgresql语句添加了正则表达式,以便它们在通过连接或引擎调用时自动提交,而不需要显式事务。拉请求由Frazer McLean和Pawe_Stiasny提供。
References: #3804
[postgresql] [bug] ¶
修复了PostgreSQL中的错误 ExcludeConstraint
其中“whereclause”和“using”参数在以下操作期间不会被复制 Table.tometadata()
.
References: #3900
[mysql] [bug] ¶
在mysql方言中添加了新的mysql 8.0保留字,以便正确引用。拉车请求由汉诺施利钦提供。
[feature] [ext] ¶
补充 Result.scalar()
和 Result.count()
到“烘焙”查询系统。
References: #3896
[bug] [ext] ¶
修正了新的错误 sqlalchemy.ext.indexable
属性本身引用另一个属性的设置将失败的扩展。
References: #3901
[orm] [bug] ¶
修复了在使用多态继承时,涉及对多个实体进行联合的热切加载的错误,这将引发“nonetype”对象没有属性“isa”。该问题由修复程序引入 #3611 .
This change is also backported to: 1.0.17
References: #3884
[orm] [bug] ¶
修复了在子查询加载中遇到的作为“现有”行的对象(例如,已从同一查询中的其他路径加载)的错误,不会为指定此加载的已卸载属性调用子查询加载程序。这个问题与 #3431 , #3811 这涉及到类似的问题与联合加载。
References: #3854
[orm] [bug] ¶
这个 Session.no_autoflush
上下文管理器现在确保在“finally”块中重置autoflush标志,这样,如果在块中引发异常,状态仍然会适当地重置。拉请求,由Emin Arakelian提供。
[orm] [bug] ¶
修复了单表继承查询条件在 Bundle
结构被用作选择标准。
References: #3874
[orm] [bug] ¶
修复了与 #3177 ,其中由 Query
将对联合外部应用“单一继承”条件(也引用错误的可选项),即使现在预期该条件已存在于内部子查询中。一旦对union()或另一个set操作调用,则现在将忽略单个继承条件。 Query
以同样的方式 Query.from_self()
.
References: #3856
[engine] [bug] ¶
“扩展现有”选项 Table
如果参数被用于 MetaData.reflect()
(正如automap扩展所做的那样),因为表既反映在外键路径中,也直接反映在外键路径中。在 MetaData.reflect()
以这种方式防止双重反射。
References: #3861
[sql] [bug] ¶
修正了0.9中最初引入的错误,通过 #1068 其中order_by(<some label()>)将仅基于名称按标签名称排序,也就是说,即使标签表达式与可选表达式中的其他表达式完全不同,也会隐式或显式地存在。按标签排序的逻辑现在确保了标签表达式与在按标签名称排序之前解析为该名称的表达式相关;此外,该名称必须解析为其他表达式中显式的实际标签,而不仅仅是列名称。这个逻辑被小心地与ORDERBY(文本名称)功能分开,它的目的稍有不同。
References: #3882
[sql] [bug] ¶
修正了1.1回归,其中由于拼写错误,“import*”不能用于sqlacalchemy.sql.expression any_
和 all_
功能。
References: #3878
[sql] [bug] ¶
嵌入在中“无法反映”的异常中的引擎URL MetaData.reflect()
现在隐藏密码;同时 __repr__
对于 TLEngine
现在表现得像 Engine
,隐藏URL密码。拉请求礼遇瓦莱里云丁。
[sql] [bug] ¶
固定问题 Variant
其中“右手胁迫”逻辑,继承自 TypeDecorator
会迫使右手进入 Variant
而不是 Variant
会的。在情况下 Variant
,我们希望类型的行为主要类似于基类型,因此 TypeDecorator
现在被重写以返回到底层包装类型的逻辑。目前主要与JSON相关。
References: #3859
[sql] [bg] ¶
修复了文本绑定编译器标志的错误。 Insert
构造“多值”功能;随后的值现在呈现为文本。
References: #3880
[postgresql] [bug] ¶
修复了新的“冲突时进行更新”功能中的错误,在该功能中,update子句的“set”值将不受类型级别处理的影响,因为通常会同时处理用户定义的类型级别转换和方言所需的转换,如JSON数据类型所需的转换。此外,还澄清了 set_
字典应匹配列的“key”,如果与列名称不同。对与列键不匹配的其余列名称发出警告;出于兼容性原因,这些列名称将像以前一样发出。
References: #3888
[postgresql] [bug] ¶
这个 TIME
和 TIMESTAMP
数据类型现在支持为“precision”设置零;以前的零将被忽略。拉请求由IONU CIOC RLAN提供。
[orm] [bug] ¶
固定错误 Session.bulk_update_mappings()
其中,备用的已命名主键属性无法正确跟踪到UPDATE语句中。
This change is also backported to: 1.0.16
References: #3849
[orm] [bug] ¶
固定错误 Session.bulk_save()
如果更新无法与实现版本ID计数器的映射一起正常工作。
This change is also backported to: 1.0.16
References: #3781
[orm] [bug] ¶
修正了错误 Mapper.attrs
, Mapper.all_orm_descriptors
当首次调用这些访问器后,将映射器属性或其他ORM构造添加到映射器/类中时,其他派生属性将无法刷新。
This change is also backported to: 1.0.16
References: #3778
[orm] [bug] ¶
由于以下原因,集合中的固定回归 #3457 因此,在pickle或deepcopy期间反序列化将无法建立ORM集合的所有属性,从而导致进一步的突变操作失败。
References: #3852
[orm] [bug] ¶
修复了长期存在的错误,其中“无加载”关系加载策略将导致backrefs和/或back_填充选项被忽略。
References: #3845
[engine] [bug] ¶
已从中删除长时间中断的“default_schema_name()”方法 Connection
. 这种方法是从一个非常旧的版本中遗留下来的,并且不起作用(例如会提高)。拉请求提供本杰明·多普林格。
[sql] [bug] ¶
修复了插入时新添加的主键警告而不使用自动增量设置的错误(请参见 这个 .autoincrement 不再为复合主键列隐式启用指令 )在对小写进行调用时无法正确发出 table()
构造。
References: #3842
[mysql] [feature] ¶
为mysqlclient和pymysql方言添加了对服务器端游标的支持。此功能可通过 Connection.execution_options.stream_results
标志以及 server_side_cursors=True
方言论点与postgresql上psycopg2的相同。拉请求由罗马波多利亚卡提供。
[mysql] [bug] ¶
MySQL的本机枚举类型支持发送的任何无效值,响应时将返回一个空字符串。在EnUM的MySQL实现中添加了一个硬编码规则来检查“返回空白字符串”,以便将该空白字符串返回给应用程序,而不是被拒绝为非有效值。请注意,如果MySQL枚举将值链接到对象,则仍会返回空白字符串。
References: #3841
[orm] [bug] ¶
固定回归 #2677 据此调用 Session.delete()
对于在该会话中已刷新为已删除的对象,将无法在标识映射中设置该对象(或拒绝该对象),从而导致刷新错误,因为该对象处于工作单元不适应的状态。在这种情况下,已还原1.1之前的行为,即将对象放回标识映射中,以便再次尝试DELETE语句,这将发出警告,指出预期行数不匹配(除非在会话外部还原该行)。
References: #3839
[orm] [bug] ¶
固定回归式 Query
方法如 Query.update()
其他人会失败,如果 Query
是针对一系列映射列,而不是整个映射实体。
References: #3836
[postgresql] [bug] ¶
PostgreSQL表反射将确保 Column.autoincrement
当反射的主键列不是 Integer
数据类型,即使默认值与整数生成序列相关。如果列被创建为序列并且数据类型被更改,则可能发生这种情况。只有当1.1系列中的数据类型具有整数相关性时,autoincrement标志才能为true。
References: #3835
[sql] [bug] ¶
修复了由执行SQL的“wrap callable”函数的新添加函数引起的回归 DefaultGenerator
对象,为引发属性错误 __module__
当默认的可调用项是 functools.partial
或其他没有 __module__
属性。
References: #3823
[sql] [bug] [postgresql] ¶
固定回归 Enum
在复制类型对象的情况下,由于作为 #3250 . 这种复制通常发生在复制列的情况下,例如在tometata()中,或者在对列使用声明性混合时。不存在的事件处理程序将影响为非本机枚举类型创建的约束,但更为关键的是PostgreSQL后端的枚举对象。
References: #3827
[orm] [feature] ¶
增强了新的“提升”懒惰加载程序策略,还包括“提升”SQL变体,可通过 relationship.lazy
以及 raiseload()
. 此变量仅在惰性加载实际会发出SQL时引发,而在完全调用惰性加载机制时引发。
References: #3812
[orm] [feature] ¶
这个 Query.group_by()
如果参数为 None
以同样的方式通过 Query.order_by()
已经工作很长时间了。拉取请求由Iuri Diniz提供。
[orm] [change] ¶
将false传递给 Query.order_by()
为了取消所有ORDER BY,已弃用;用FALSE或NONE调用此方法之间不再存在任何差异。
[orm] [bug] ¶
修正了对于一个多态加载的映射器来说,连接的预加载将失败,在这个映射器中,多态性被设置为一个未映射的表达式,如case表达式。
This change is also backported to: 1.0.16
References: #3800
[orm] [bug] ¶
修复了为通过发送到会话的无效绑定引发参数错误的错误。 Session.bind_mapper()
, Session.bind_table()
,否则将无法正确引发构造函数。
This change is also backported to: 1.0.16
References: #3798
[orm] [bug] ¶
修复了子查询预加载中的错误,即“of_type()”对象的子查询加载链接到普通映射类的第二个子查询加载,或多个“of_type()”属性的较长链,将无法正确链接联接。
This change is also backported to: 1.0.15
[orm] [bug] ¶
现在可以为ORM属性分配任何具有 __clause_element__()
属性,这将导致内联SQL ClauseElement
类是。这包括其他未被进一步表达式构造转换的映射属性。
References: #3802
[orm] [bug] ¶
对年首次引入的错误修复进行了调整。 [门票:3431] 这涉及一个对象出现在单个结果集中的多个上下文中,这样一个将相关对象值设置为“无”的渴望加载程序仍将触发,从而满足该属性的负载。以前,调整只处理第二行中迫切加载的属性的非无值。
References: #3811
[orm] [bug] ¶
修正了新的错误 SessionEvents.persistent_to_deleted()
事件,在该事件被激发之前,可以对目标对象进行垃圾收集。
References: #3808
[orm] [bug] ¶
一个 relationship()
构造现在可以包含 bindparam()
包含可调用函数以生成值的对象。以前,lazy loader策略与此用法不兼容,另外,如果主键与绑定参数有关,则无法正确检测是否应使用“use-get”条件。
References: #3767
[orm] [bug] ¶
如果目标数据库支持返回以提供新值,或者如果pk值设置为“自身”,以转发列上的其他触发器/onUpdate,则ORM刷新进程发出的更新现在可以为对象主键内的列提供SQL表达式元素。
References: #3801
[orm] [bug] ¶
修正了这样一个错误:如果关系的primaryjoin有多个子句,并且这些子句与每个子句中比较的主键列的顺序不同,那么允许从标识映射中使用get()的延迟加载的“简单多对一”条件将无法被调用。对于复合外键,如果引用端的表绑定列在.c集合中的顺序与被引用端的主键列的顺序不相同,则会出现这种顺序差异……如果使用声明性混合和/或声明的_Attr来设置列,则会出现很多这种情况。
References: #3788
[orm] [bug] ¶
当两个 @validates
映射上的装饰器使用相同的名称。一次只支持一个特定名称的验证器,没有将它们链接在一起的机制,因为函数修饰器级别的验证器的顺序不能确定。
References: #3776
[orm] [bug] ¶
在期间引发的映射器错误 configure_mappers()
现在在异常消息中显式地包含源映射器的名称,以帮助在包装的异常本身不包括源映射器的情况下。拉请求礼遇约翰·帕金斯。
[orm] [declarative] [change] ¶
构造从另一个类继承的声明性基类也将继承其docstring。这意味着 as_declarative()
更像一个普通的类修饰器。
[sql] [bug] ¶
固定错误 Table
其中内部方法 _reset_exported()
会损坏对象的状态。此方法适用于可选对象,在某些情况下由ORM调用;错误的映射器配置可能导致ORM在 Table
对象。
This change is also backported to: 1.0.15
References: #3755
[sql] [bug] ¶
执行选项现在可以在编译时从语句内传播到最外面的语句,这样,如果嵌入元素希望将“autocommit”设置为true,例如,它可以将其传播到封闭语句。目前,此功能是为嵌入在select语句中的面向DML的CTE启用的,例如,在select语句中插入/更新/删除。
References: #3805
[sql] [bug] ¶
作为列默认值通过 Column.server_default
参数现在被转义为引号。
References: #3809
[sql] [bug] [postgresql] ¶
PostgreSQL使用添加的编译器级标志来放置额外的括号,而不是通常由涉及JSON、hstore索引运算符的操作及其操作数的优先规则生成的,因为观察到PostgreSQL对hstore索引运算符的优先规则的匹配不一致9.4和9.5之间。
References: #3806
[sql] [bug] [mysql] ¶
这个 BaseException
异常类现在被 Connection
,包括 ConnectionEvents.handle_error()
事件。这个 Connection
现在是 失效的 如果系统级异常不是 Exception
包括 KeyboardInterrupt
还有格林莱特 GreenletExit
类,以防止在处于未知且可能已损坏状态的数据库连接上发生进一步的操作。mysql驱动程序是这个变更最主要的目标,但是这个变更跨越了所有dbapis。
References: #3803
[sql] [bug] ¶
“eq”和“ne”操作符不再是“关联”操作符列表的一部分,而它们仍然被认为是“交换的”。这允许类似 (x == y) == z
在SQL级别用括号维护。拉请求由约翰·帕萨罗提供。
References: #3799
[sql] [bug] ¶
用未命名的表达式字符串化 Column
对象(在许多情况下,包括ORM错误报告)现在将字符串上下文中的名称呈现为“<name unknown>”,而不是引发编译错误。
References: #3789
[sql] [bug] ¶
当错误地将非“可执行”的ClauseElement或非SqlAlchemy对象传递给 .execute()
;在所有情况下都会一致地引发新的异常ObjectNoteXExecutableError。
References: #3786
[sql] [bug] [mysql] [postgresql] ¶
修复了JSON数据类型中的回归,其中不会调用JSON索引值的“文字处理器”。现在可以从jsonIndexType和jsonPathType中调用本机字符串和整数数据类型。这适用于generic、postgresql和mysql json类型,并且还依赖于 #3766 .
References: #3765
[sql] [bug] ¶
固定错误在哪里 Index
如果这些SQL表达式包装在ORM样式中,则无法从复合SQL表达式中提取列 __clause_element__()
构建。这个bug也存在于1.0.x中,但是在1.1中更为明显,因为混合属性@expression现在返回一个包装的元素。
References: #3763
[mysql] [bug] ¶
添加了对在url查询字符串中分析mysql/connector布尔和整数参数的支持:connection_timeout、connect_timeout、pool_size、get_warnings、raise_on_warnings、raw、consume_results、ssl_verify_cert、force_ipv6、pool_reset_session、compress、allow_local_infile、use_pure。
This change is also backported to: 1.0.15
References: #3787
[mysql] [bug] ¶
修复了“literal_binding”标志不会传播到mysql下的强制转换表达式的错误。
References: #3766
[mssql] [bug] ¶
更改了用于获取“默认架构名称”的查询,从查询数据库主体表的查询改为使用“schema_name()”函数,因为已报告问题:以前的系统在Azure数据仓库版本上不可用。希望这最终能够在所有SQL Server版本和身份验证样式中工作。
This change is also backported to: 1.0.16
References: #3810
[mssql] [bug] ¶
更新了pyodbc的服务器版本信息方案,以使用SQL Server ServerProperty(),而不是依赖pyodbc.sql_dbms-ver,后者仍然不可靠,特别是在freetds中。
This change is also backported to: 1.0.16
References: #3814
[mssql] [bug] ¶
在导致连接池重置的断开连接异常列表中添加了错误代码20017“来自服务器的意外eof”。请示肯·罗宾斯。
This change is also backported to: 1.0.16
References: #3791
[postgresql] [bug] ¶
修正了错误 TypeDecorator
和 Variant
PostgreSQL方言对类型的检查不够深入,无法确定是否需要呈现smallserial或bigserial而不是serial。
This change is also backported to: 1.0.14
References: #3739
[oracle] [bug] ¶
固定错误 Select.with_for_update.of
如果Oracle的“rownum”限制/偏移方法无法适应“of”子句中的表达式,则必须在引用子查询中表达式的最顶层声明该表达式。如果需要,表达式现在被添加到子查询中。
This change is also backported to: 1.0.14
References: #3741
[sql] [bug] ¶
修复了SQL Math Negation运算符中表达式类型不再是原始表达式的数值类型的问题。这将导致类型决定结果集行为的问题。
This change is also backported to: 1.0.14
References: #3735
[sql] [bug] ¶
修正了 __getstate__
/ __setstate__
由于1.0系列转换为 __slots__
. 该问题可能会影响某些第三方应用程序。拉式请求,由Pieter Mulder提供。
This change is also backported to: 1.0.14
References: #3728
[sql] [bug] ¶
由执行的处理 Boolean
纯python和C扩展版本之间只具有整数类型的后端数据类型保持一致,因为C扩展版本将接受数据库中的任何整数值作为布尔值,而不仅仅是零和一;此外,将发送到数据库的非布尔整数值强制为零或一。而不是作为原始整数值传递。
References: #3730
[sql] [bug] ¶
稍微回滚验证规则 Enum
允许未知字符串值通过,除非标志 validate_string=True
传递给枚举;当然,任何其他类型的对象仍然被拒绝。虽然当前的用途是允许对具有like的枚举进行比较,但这种用法的存在表明可能存在比我们预期的更多的未知字符串比较用例,这意味着可能也存在一些未知的字符串插入用例。
References: #3725
[mysql] [bug] ¶
拨回中描述的“按自动增量排序主键列” 不再为复合主键生成隐式键w/auto_increment 有点,所以如果 PrimaryKeyConstraint
如果是显式定义的,则精确地维护列的顺序,允许在必要时控制此行为。
References: #3726
[orm] [feature] [ext] ¶
新的ORM扩展 可转位的 它允许构建引用“索引”结构的特定元素(如数组和JSON字段)的python属性。拉车请求礼遇郑云元。
参见
[orm] [feature] ¶
增加新标志 Session.bulk_insert_mappings.render_nulls
它允许在呈现空值的情况下进行ORM大容量插入;这将绕过服务器端的默认值,但是允许使用相同的列集来形成所有语句,从而允许对它们进行批处理。拉取请求,由Tobias Sauerwein提供。
[orm] [feature] ¶
新增事件 AttributeEvents.init_scalar()
以及说明其用途的新示例套件。此事件可用于在持久化对象之前向python-side属性提供核心生成的默认值。
References: #1311
[orm] [feature] ¶
补充 AutomapBase.prepare.schema
到 AutomapBase.prepare()
方法,以指示如果不是默认架构,应从中反映哪些架构表。请示Josh Marlow。
[orm] [feature] ¶
添加了新参数 mapper.passive_deletes
到可用的映射器选项。这允许删除只针对基表进行联接表继承映射,同时允许在删除时层叠处理从子类表中删除行。
References: #2349
[orm] [feature] ¶
当构造包含非标准的SQL元素(如返回、数组索引操作、方言特定或自定义数据类型)时,对核心SQL构造调用str()变得更加“友好”。在这些情况下,返回的字符串将呈现构造的近似值(通常是其PostgreSQL样式的版本),而不是引发错误。
References: #3631
[orm] [feature] ¶
这个 str()
需要 Query
现在将考虑 Engine
其中 Session
在生成SQL的字符串形式时绑定,以便在可能的情况下显示将发送到数据库的实际SQL。以前,只有与 MetaData
如果存在,将使用与之关联的映射。如果在 Session
或在 MetaData
映射与之关联,然后使用“默认”方言来呈现SQL,就像前面的情况一样。
References: #3081
[orm] [feature] ¶
这个 SessionEvents
套件现在包含事件,允许根据 Session
自身,例如挂起、短暂、持续、分离。还定义了每个事件中对象的状态。
参见
References: #2677
[orm] [feature] ¶
添加了新的会话生命周期状态 deleted . 此新状态表示已从 persistent 并将移动到 detached 提交事务后状态。这解决了长期存在的问题,即删除的对象存在于持久和分离之间的灰色区域。这个 InstanceState.persistent
访问者意志 不再 将已删除对象报告为持久对象;该 InstanceState.deleted
对于这些对象,访问器将改为true,直到它们分离为止。
参见
References: #2677
[orm] [feature] ¶
添加了对将映射类或映射实例传递到解释为SQL绑定参数的上下文中的常见错误情况的新检查;为此引发了新的异常。
References: #3321
[orm] [feature] ¶
新增关系加载策略 raiseload()
(也可通过 lazy='raise'
)这一策略的表现几乎像 noload()
但不是返回 None
它会引发InvalidRequestError。拉车请求由Adrian Moennich提供。
References: #3512
[orm] [change] ¶
这个 Mapper.order_by
参数已弃用。这是一个旧参数,一旦引入查询对象,它就不再与SQLAlchemy的工作方式相关。通过弃用它,我们确定我们不支持非工作的用例,并且我们鼓励应用程序不再使用这个参数。
References: #3394
[orm] [change] ¶
这个 Session.weak_identity_map
参数已弃用。新配方见 会话引用行为 对于一个基于事件的方法来维护强大的身份映射行为。
参见
References: #2677
[orm] [bug] ¶
修复了一个问题,即当结合对外键属性的未刷新修改时,对象从一个父级到另一个父级的多对一更改可能工作不一致。属性move现在考虑外键的数据库提交值,以便定位要移动的对象的“上一个”父级。这允许事件正确触发,包括backref事件。以前,这些事件不会总是发生。可能依赖先前中断行为的应用程序可能会受到影响。
References: #3708
[orm] [bug] ¶
修复了当对象合并到会话中时,在下一个对象范围内未爆炸时,将不小心为数据库加载设置延迟列的错误。 session.merge(obj, load=False)
.
References: #3488
[orm] [bug] [mysql] ¶
继续讨论常见的mysql异常情况,即存储点被取消 #2696 ,故障模式 Session
当保存点在改进回滚之前消失时放置,以允许 Session
在保存点之外仍能正常工作。假定保存点操作失败并被取消。
References: #3680
[orm] [bug] ¶
修复了一个新插入的回滚实例在下一个事务上仍可能导致持久性冲突的错误,因为不会检查该实例是否已过期。此修复将解决大量错误导致“具有标识X的新实例与持久实例Y冲突”错误的情况。
References: #3677
[orm] [bug] ¶
工作原理的改进 Query.correlate()
这样,当使用表示几个表的直接联接的“多态”实体时,该语句将确保联接中的所有表都是相关联的一部分。
References: #3662
[orm] [bug] ¶
修正了这样一个错误:如果连接的热切加载来自同一个实体多次出现的行,则会导致热切加载的多对一属性无法加载,有些请求迫切加载该属性,而另一些则不加载。这里的逻辑被修改为接受属性,即使不同的加载程序路径已经处理了父实体。
References: #3431
[orm] [bug] ¶
对逻辑的改进,当 Query.distinct()
与 Query.order_by()
这样,即使已经存在的列用不同的名称标记,也不会再次添加它们。无论这种更改如何,添加到SQL的额外列在最终结果中都不会返回,因此这种更改只影响语句的字符串形式以及在核心执行上下文中使用时的行为。此外,在使用distinct on格式时不再添加列,前提是该查询不会由于联接的热切加载而包装在子查询中。
References: #3641
[orm] [bug] ¶
修复了这样一个问题:如果使用“backref”设置了两个相同的命名关系(引用了一个基类和一个具体继承的子类),而使用relationship()而不是冲突的名称来设置相同的配置,则这两个相同的命名关系将导致错误,这在具体映射的情况下是允许的。
References: #3630
[orm] [bug] ¶
这个 Session.merge()
方法现在在发出插入之前按主键跟踪挂起的对象,并在遇到重复的主键时将不同的对象合并在一起,这实际上是半确定性的。此行为与已发生的持久对象相匹配。
References: #3601
[orm] [bug] ¶
修复了在某些不适当的情况下,例如从单个继承子类的exists()查询时,将“单表继承”条件添加到查询末尾的错误。
参见
References: #3582
[orm] [bug] ¶
添加了新的类型级别修饰符 TypeEngine.evaluates_none()
它向ORM指示应将一个正的none集作为值NULL持久化,而不是从insert语句中省略该列。此功能同时作为实现的一部分用于 #3514 以及任何类型的独立功能。
References: #3250
[orm] [bug] ¶
内部调用“簿记”功能 Session.bulk_save_objects()
并且相关的批量方法已经缩小到当前未使用此功能的程度,例如,检查插入或更新语句后要提取的列默认值。
References: #3526
[orm] [bug] [postgresql] ¶
关于 None
结合PostgreSQL JSON
类型。当 JSON.none_as_null
标志的默认值为 False
每当ORM对象上的值设置为该值时,ORM现在将正确地将JSON“'null”字符串插入列中。 None
或者当价值 None
用于 Session.bulk_insert_mappings()
, 包括 如果列上有默认值或服务器默认值。
References: #3514
[engine] [feature] ¶
添加的连接池事件 ConnectionEvents.close()
, ConnectionEvents.detach()
, ConnectionEvents.close_detached()
.
[engine] [feature] ¶
用于记录、异常和的绑定参数集和结果行的所有字符串格式 repr()
现在,purposes截断每个集合中非常大的标量值,包括“n个字符被截断”的表示法,类似于大型多参数集的显示本身被截断的方式。
References: #2837
[engine] [feature] ¶
多租户架构转换 Table
对象被添加。这支持使用同一组 Table
许多模式中的对象,例如每个用户的模式。新的执行选项 Connection.execution_options.schema_translate_map
添加。
参见
References: #2685
[engine] [feature] ¶
向引擎添加了一个新的入口点系统,允许在URL的查询字符串中声明“插件”。可以编写自定义插件,这些插件将有机会预先更改和/或使用引擎的URL和关键字参数,然后在引擎创建时将为引擎本身提供额外的修改或事件注册。插件被编写为 CreateEnginePlugin
;有关详细信息,请参见该类。
References: #3536
[sql] [feature] ¶
通过新的 FromClause.tablesample()
方法和独立函数。拉请求由Ilja Everil_。
参见
References: #3718
[sql] [feature] ¶
添加了对窗口函数范围的支持,使用 over.range_
和 over.rows
参数。
References: #3049
[sql] [feature] ¶
实现了对sqlite和postgresql的检查约束的反射。这可通过新的检查方法获得。 Inspector.get_check_constraints()
以及反射时 Table
对象的形式 CheckConstraint
约束集合中存在的对象。拉车请求由Alex Gr_nholm提供。
[sql] [feature] ¶
新的 ColumnOperators.is_distinct_from()
和 ColumnOperators.isnot_distinct_from()
接线员;由塞巴斯蒂安银行提供请求。
参见
[sql] [feature] ¶
增加了一个钩子 DDLCompiler.visit_create_table()
打电话 DDLCompiler.create_table_suffix()
允许自定义方言在“create table”子句后添加关键字。拉动请求门控标记Sandan。
[sql] [feature] ¶
负整数索引现在由从 ResultProxy
. 拉请求由Emanuele Gaifas提供。
[sql] [feature] ¶
补充 Select.lateral()
以及相关的构造,以允许SQL标准的横向关键字,目前只有PostgreSQL支持。
参见
References: #2857
[sql] [feature] ¶
增加了对核心和ORM呈现“完全外部连接”的支持。拉车请求由Stefan Urbanek提供。
References: #1957
[sql] [feature] ¶
CTE功能已经扩展到支持所有DML,允许INSERT、UPDATE和DELETE语句都指定自己的WITH子句,并且当这些语句包含返回子句时,它们本身也是CTE表达式。
References: #2551
[sql] [feature] ¶
增加了对PEP-435样式枚举类(即python 3)的支持 enum.Enum
类,但也包括兼容的枚举库, Enum
数据类型。这个 Enum
数据类型现在还可以在python中验证传入值,并添加一个选项来放弃创建check约束。 Enum.create_constraint
. 拉车请求由Alex Gr_nholm提供。
[sql] [feature] ¶
对最近增加的 TextClause.columns()
方法及其与结果行处理的交互现在允许传递给方法的列与语句中的结果列位置匹配,而不是仅在名称上匹配。这样做的好处包括,当将文本SQL语句链接到ORM或核心表模型时,不需要进行公共列名称的标记或重复数据消除系统,这也意味着不需要担心标签名称如何与ORM列匹配等等。此外, ResultProxy
在某些情况下,进一步增强了将列键和字符串键映射到精度更高的行的功能。
References: #3501
[sql] [feature] ¶
向核心添加了新类型 JSON
. 这是PostgreSQL的基础 JSON
类型和新的类型一样 JSON
类型,以便可以使用pg/mysql不可知JSON列。该类型具有基本索引和路径搜索支持。
参见
References: #3619
[sql] [feature] ¶
添加了对窗体的“set aggregate”函数的支持 <function> WITHIN GROUP (ORDER BY <criteria>)
,使用方法 FunctionElement.within_group()
. 添加了一系列从集合派生的返回类型的公共集合聚合函数。这包括以下功能 percentile_cont
, dense_rank
以及其他。
References: #1370
[sql] [feature] [postgresql] ¶
添加了对SQL标准函数的支持 array_agg
,它自动返回 ARRAY
类型正确,支持索引/切片操作,以及 array_agg()
,返回 ARRAY
具有其他比较功能。由于目前只有PostgreSQL支持数组,所以只能在PostgreSQL上工作。还添加了一个新结构 aggregate_order_by
支持PG的“按订单”扩展。
References: #3132
[sql] [feature] ¶
向核心添加了新类型 ARRAY
. 这是PostgreSQL的基础 ARRAY
输入,现在是核心的一部分,开始支持各种SQL标准阵列支持功能,包括一些功能,以及对其他具有“阵列”概念的数据库(如DB2或Oracle)上的本机阵列的最终支持。此外,新的运营商 any_()
和 all_()
已添加。这些不仅支持PostgreSQL上的数组构造,还支持在MySQL上可用的子查询(但遗憾的是,PostgreSQL上不可用)。
References: #3516
[sql] [change] [mysql] ¶
一个系统,通过它 Column
将自身视为“自动增量”列已更改,因此自动增量不再隐式启用 Table
它有一个复合主键。为了能够为复合pk成员列启用自动增量,同时保持sqlAlchemy为单个整数主键启用隐式自动增量的长期行为,已经向 Column.autoincrement
参数 "auto"
,现在是默认值。
References: #3216
[sql] [bug] ¶
FromClause.count()
已弃用。此函数使用表中的任意列,不可靠;对于核心使用, func.count()
应优先考虑。
References: #3724
[sql] [bug] ¶
修正了如果 Index
与 Column
与小写字母T相关 TableClause
;为了将索引与 Table
.
References: #3616
[sql] [bug] ¶
这个 type_coerce()
构造现在是一个成熟的核心表达式元素,在编译时进行了后期计算。以前,该函数只是一个转换函数,通过返回 Label
列定向表达式或给定的 BindParameter
对象,尤其是当ORM级别的表达式转换将列转换为绑定参数(例如用于延迟加载)时,该对象会阻止逻辑维护操作。
References: #3531
[sql] [bug] ¶
这个 TypeDecorator
类型扩展程序现在将与 SchemaType
实施,通常 Enum
或 Boolean
关于确保每个表事件从实现类型传播到外部类型。这些事件用于确保约束或PostgreSQL类型(例如枚举)与父表一起正确创建(并且可能删除)。
References: #2919
[sql] [bug] ¶
的行为 union()
构造和相关构造,如 Query.union()
现在处理这样的情况:由于嵌入的select语句包含limit、offset和/或order by,因此需要用括号括起来。这些查询 不在sqlite上工作 ,并将在该后端上失败,就像以前一样,但现在应该在所有其他后端上工作。
References: #2528
[postgresql] [feature] ¶
添加了对postgresql的insert的支持..关于使用新的postgresql特定的冲突 Insert
对象。罗宾·托马斯的请求和广泛的努力。
References: #3529
[postgresql] [feature] ¶
如果 postgresql_concurrently
标志设置在 Index
如果使用中的数据库被检测为PostgreSQL 9.2或更高版本。对于创建索引,还添加了数据库版本检测,如果pg版本小于8.2,则省略该子句。拉取请求由Iuri de Silvio提供。
[postgresql] [feature] ¶
添加了新参数 PGInspector.get_view_names.include
,允许指定应返回的视图类型。目前包括“普通”和“物化”视图。拉请求由Sebastian银行提供。
References: #3588
[postgresql] [feature] ¶
补充 postgresql_tablespace
作为一个论点 Index
允许在PostgreSQL中为索引指定表空间。对上的同一命名参数进行补充 Table
. 拉请求由本杰明·伯特兰提供。
References: #3720
[postgresql] [feature] ¶
添加了新参数 GenerativeSelect.with_for_update.key_share
,这将使 FOR NO KEY UPDATE
版本 FOR UPDATE
和 FOR KEY SHARE
而不是 FOR SHARE
在PostgreSQL后端。拉请求由谢尔盖·斯科宾提供。
[postgresql] [feature] [oracle] ¶
添加了新参数 GenerativeSelect.with_for_update.skip_locked
,这将使 SKIP LOCKED
短语 FOR UPDATE
或 FOR SHARE
锁定PostgreSQL和Oracle后端。拉请求由周杰客提供。
[postgresql] [feature] ¶
为PygreSQL PostgreSQL方言添加了新方言。感谢Christoph Zwerschke和高岭土Imago的努力。
[postgresql] [feature] ¶
添加了一个新常量 JSON.NULL
指示JSON空值应用于某个值,而不考虑其他设置。
References: #3514
[postgresql] [change] ¶
这个 sqlalchemy.dialects.postgres
长期以来不推荐使用的模块已被删除;这已经发出了多年的警告,项目应该被调用。 sqlalchemy.dialects.postgresql
. 表单的引擎URL postgres://
但仍将继续发挥作用。
[postgresql] [bug] ¶
为将物化视图的源代码反映到PostgreSQL版本的 Inspector.get_view_definition()
方法。
References: #3587
[postgresql] [bug] ¶
A的使用 ARRAY
对象引用 Enum
或 ENUM
当类型在“创建表”或“删除表”中使用时,子类型现在将发出预期的“创建类型”和“删除类型”DDL。
References: #2729
[postgresql] [bug] ¶
特殊数据类型上的“hashable”标志,如 ARRAY
, JSON
和 HSTORE
现在设置为false,这样可以在包含行内实体的ORM查询中获取这些类型。
References: #3499
[postgresql] [bug] ¶
邮报 ARRAY
类型现在支持多维索引访问,例如表达式,例如 somecol[5][6]
不需要显式强制转换或类型强制,前提是 ARRAY.dimensions
参数设置为所需的维度数。
References: #3487
[postgresql] [bug] ¶
的返回类型 JSON
和 JSONB
当使用indexed access时,它的工作方式与postgresql本身相同,并返回一个本身属于类型的表达式。 JSON
或 JSONB
. 以前,访问器将返回 NullType
它不允许使用后续类似JSON的运算符。
References: #3503
[postgresql] [bug] ¶
这个 JSON
, JSONB
和 HSTORE
数据类型现在允许从索引文本访问操作完全控制返回类型,或者 column[someindex].astext
对于JSON类型或 column[someindex]
对于hstore类型,通过 JSON.astext_type
和 HSTORE.text_type
参数。
References: #3503
[postgresql] [bug] ¶
这个 Comparator.astext
修饰符不再调用 ColumnElement.cast()
隐式地,因为pg的json/jsonb类型也允许相互交叉转换。使用的代码 ColumnElement.cast()
在JSON索引访问上,例如 col[someindex].cast(Integer)
,将需要更改为呼叫 Comparator.astext
明确地。
References: #3503
[mysql] [feature] ¶
通过autocommit隔离级别设置,增加了对mysql驱动程序“autocommit”的支持。拉请求由罗马波多利亚卡提供。
References: #3332
[mysql] [feature] ¶
补充 JSON
对于MySQL5.7。JSON类型提供了MySQL中JSON值的持久性,以及“getitem”和“getpath”的基本运算符支持,利用 JSON_EXTRACT
函数以引用JSON结构中的各个路径。
参见
References: #3547
[mysql] [change] ¶
当使用innodb为表生成create table ddl时,mysql方言不再生成额外的“key”指令,该表的复合主键在非第一列的列上自动递增;为了克服innodb在这里的限制,现在生成primary key约束时,自动递增列放在列表的第一位。列的。
References: #3216
[sqlite] [feature] ¶
sqlite方言现在反映在外键约束中的更新和删除短语上。拉请求由Michal Petrucha提供。
[sqlite] [feature] ¶
sqlite方言现在反映了主键约束的名称。拉车请求,黛安娜·克拉克。
参见
References: #3629
[sqlite] [change] ¶
为的sqlite方言添加了支持 Inspector.get_schema_names()
使用sqlite的方法;拉请求由brian van klaveren提供。还修复了对使用模式创建索引的支持,以及对模式绑定表中外键约束的反射。
参见
[sqlite] [bug] ¶
当检测到sqlite版本3.7.16或更高版本时,将取消sqlite上右侧嵌套联接的解决方案,其中它们被重写为子查询,以解决sqlite不支持此语法的问题。
References: #3634
[sqlite] [bug] ¶
针对sqlite意外传递列名称的解决方案为 tablename.columnname
对于某些类型的查询,当检测到sqlite 3.10.0或更高版本时,将禁用查询。
References: #3633
[mssql] [feature] ¶
这个 mssql_clustered
标志在上可用 UniqueConstraint
, PrimaryKeyConstraint
, Index
现在默认为 None
,并且可以设置为false,这将呈现非聚集关键字,尤其是对于主键,允许将不同的索引用作“聚集的”。拉取请求由Saulius_emaitaitis提供。
[mssql] [feature] ¶
通过向SQL Server方言添加基本隔离级别支持 create_engine.isolation_level
和 Connection.execution_options.isolation_level
参数。
References: #3534
[mssql] [change] ¶
这个 legacy_schema_aliasing
在1.0.5版中作为 #3424 要允许禁用MSSQL方言创建模式限定表别名的尝试,现在默认为false;除非显式打开,否则现在禁用旧行为。
References: #3434
[mssql] [bug] ¶
调整MXODBC方言以使用 BinaryNull
符号与 VARBINARY
数据类型。拉请求由Sheila Allen提供。
[mssql] [bug] ¶
修复了SQL Server方言通过分配标记来反映具有无边界长度的字符串或其他可变长度列类型的问题。 "max"
字符串的长度属性。使用时 "max"
SQL Server方言显式支持令牌,它不是基字符串类型的正常约定的一部分,而是长度应保留为无。方言现在根据类型的反射将长度指定为“无”,以便类型在其他上下文中正常工作。
References: #3504
[feature] [ext] ¶
补充 MutableSet
和 MutableList
帮助程序类 突变跟踪 延伸。拉车请求礼遇郑云元。
References: #3297
[bug] [ext] ¶
在混合属性或方法上指定的docstring现在在类级别上得到认可,允许它使用类似sphinx autodoc的工具。这里的机制必然涉及到一些混合属性的表达式包装,这可能会导致它们在使用内省时出现不同的外观。
References: #3653
[bug] [sybase] ¶
不支持的Sybase方言现在引发 NotImplementedError
当试图编译包含“offset”的查询时,Sybase没有直接的“offset”特性。
References: #2278
flambé! the dragon and The Alchemist image designs created and generously donated by Rotem Yaari.
Created using Sphinx 4.2.0.