[sql] [bug] Fixed issue in SQL math negation operator where the type of the expression would no longer be the numeric type of the original. 这会导致类型确定结果集行为的问题。¶
这个改变也被backported改为:1.0.14
参考文献:#3735
[sql] [bug] Fixed bug whereby the __getstate__
/ __setstate__
methods for sqlalchemy.util.Properties were non-working due to the transition in the 1.0 series to __slots__
. 该问题可能会影响某些第三方应用程序。Pull请求Pieter Mulder提供。¶
这个改变也被backported改为:1.0.14
参考文献:#3728
[sql] [bug] 在纯Python和C-extensions版本之间,只有特征整数类型的后端Boolean
数据类型所执行的处理已经变得一致, C-extension版本将接受来自数据库的任何整数值作为布尔值,而不仅仅是零和一;另外,发送到数据库的非布尔整型值被强制为0或1,而不是作为原始整数值传递。
参考文献:#3730
[sql] [bug] 回滚Enum
中的验证规则以允许未知字符串值通过,除非标志validate_string=True
While the immediate use is to allow comparisons to enums with LIKE, the fact that this use exists indicates there may be more unknown-string-comparsion use cases than we expected, which hints that perhaps there are some unknown string-INSERT cases too.¶
参考文献:#3725
[postgresql] [bug] [ext] Made a slight behavioral change in the sqlalchemy.ext.compiler
extension, whereby the existing compilation schemes for an established construct would be removed if that construct was itself didn’t already have its own dedicated __visit_name__
. 这在1.0中很少见,但在1.1 postgresql.ARRAY
子类sqltypes.ARRAY
中有此现象。因此,为另一种方言(如SQLite)设置编译处理程序会使主postgresql.ARRAY
对象不再可编译。
参考文献:#3732
[mysql] [bug] 在No more generation of an implicit KEY for composite primary key w/ AUTO_INCREMENT生成隐式键有一点,所以如果明确定义了PrimaryKeyConstraint
,那么列的顺序就会被精确地保留下来,以便在必要时控制这种行为。¶
参考文献:#3726
[orm] [feature] [ext] A new ORM extension Indexable is added, which allows construction of Python attributes which refer to specific elements of “indexed” structures such as arrays and JSON fields. 请求Jeong YunWon提供的请求。
¶[orm] [feature] Added new flag Session.bulk_insert_mappings.render_nulls
which allows an ORM bulk INSERT to occur with NULL values rendered; this bypasses server side defaults, however allows all statements to be formed with the same set of columns, allowing them to be batched. 请求礼拜Tobias Sauerwein。¶
[orm] [feature] 添加了新事件AttributeEvents.init_scalar()
,以及一个说明其用法的新示例套件。在持久对象之前,可以使用此事件向Python端属性提供Core生成的默认值。
参考文献:#1311
[orm] [feature] 将AutomapBase.prepare.schema
添加到AutomapBase.prepare()
方法中,以指示应反映哪些模式表如果不是默认模式。拉请求由Josh Marlow提供。¶
[orm] [feature] 将新参数orm.mapper.passive_deletes
添加到可用的映射器选项。这允许DELETE进行仅针对基表的连接表继承映射,同时允许ON DELETE CASCADE处理从子类表中删除行。
也可以看看
passive_deletes feature for joined-inheritance mappings的passive_deletes功能
参考文献:#2349
[orm] [feature] Calling str() on a core SQL construct has been made more “friendly”, when the construct contains non-standard SQL elements such as RETURNING, array index operations, or dialect-specific or custom datatypes. 现在在这些情况下返回一个字符串,以表示该构造的近似值(通常是Postgresql风格的版本),而不是引发错误。
¶参考文献:#3631
[orm] [feature] The str()
call for Query
will now take into account the Engine
to which the Session
is bound, when generating the string form of the SQL, so that the actual SQL that would be emitted to the database is shown, if possible. Previously, only the engine associated with the MetaData
to which the mappings are associated would be used, if present. 如果没有绑定可以位于映射关联的Session
或MetaData
上,那么“默认”方言用于呈现SQL,就像以前的情况。
参考文献:#3081
[orm] [feature] The SessionEvents
suite now includes events to allow unambiguous tracking of all object lifecycle state transitions in terms of the Session
itself, e.g. pending, transient, persistent, detached. 每个事件中对象的状态也被定义。
参考文献:#2677
[orm] [feature] 添加了一个新的会话生命周期状态deleted。这个新的状态代表一个从persistent状态中被删除的对象,并且一旦事务被提交就会移动到detached状态。这解决了长期存在的问题,即被删除的对象存在于灰色区域中的持久对象和分离对象之间。The InstanceState.persistent
accessor will no longer report on a deleted object as persistent; the InstanceState.deleted
accessor will instead be True for these objects, until they become detached.
参考文献:#2677
[orm] [feature] 为将映射类或映射实例传递到解释为SQL绑定参数的上下文中的常见错误情况添加了新的检查;为此提出了一个新的例外。
¶参考文献:#3321
[orm] [feature] Added new relationship loading strategy orm.raiseload()
(also accessible via lazy='raise'
). 这种策略的行为几乎与orm.noload()
类似,但不是返回None
,而是引发一个InvalidRequestError。拉请求阿德里安Moennich礼貌。
参考文献:#3512,请求github:193
[orm] [bug] 修复了将对象从一个父对象多对一地更改为另一个对象时与外键属性的未刷新修改结合使用时可能不一致的问题。属性移动现在考虑外键的数据库提交值,以便找到要移动的对象的“上一个”父对象。这允许事件正确启动,包括backref事件。以前,这些事件并不总是会发生。可能依赖于先前破坏行为的应用程序可能会受到影响。
¶参考文献:#3708
[orm] [bug] Fixed bug where deferred columns would inadvertently be set up for database load on the next object-wide unexpire, when the object were merged into the session with session.merge(obj, load=False)
.¶
参考文献:#3488
[orm] [bug] [mysql] 进一步继续讨论#2696中首先覆盖的保存点的常见MySQL异常情况,其中Session
放置在SAVEPOINT在回滚已改进之前消失,以允许Session
在该保存点之外仍然起作用。假定保存点操作失败并被取消。
也可以看看
Improved Session state when a SAVEPOINT is cancelled by the database取消SAVEPOINT时改进了会话状态
参考文献:#3680
[orm] [bug] Fixed bug where a newly inserted instance that is rolled back would still potentially cause persistence conflicts on the next transaction, because the instance would not be checked that it was expired. 此修复程序将解决大量导致“身份X与持久实例Y冲突的新实例”错误的大类病例。
¶参考文献:#3677
[orm] [bug] An improvement to the workings of Query.correlate()
such that when a “polymorphic” entity is used which represents a straight join of several tables, the statement will ensure that all the tables within the join are part of what’s correlating.
也可以看看
Improvements to the Query.correlate method with polymoprhic entities改进Query.correlate方法
参考文献:#3662
[orm] [bug] Fixed bug which would cause an eagerly loaded many-to-one attribute to not be loaded, if the joined eager load were from a row where the same entity were present multiple times, some calling for the attribute to be eagerly loaded and others not. 尽管不同的加载程序路径已经处理父实体,但修改此处的逻辑以接受属性。
¶参考文献:#3431
[orm] [bug] A refinement to the logic which adds columns to the resulting SQL when Query.distinct()
is combined with Query.order_by()
such that columns which are already present will not be added a second time, even if they are labeled with a different name. 无论如何改变,添加到SQL中的额外列从未在最终结果中返回,因此此更改仅影响语句的字符串形式以及在Core执行上下文中使用时的行为。此外,使用DISTINCT ON格式时不再添加列,只要由于加入了预先加载而不将查询包装在子查询中。
参考文献:#3641
[orm] [bug] Fixed issue where two same-named relationships that refer to a base class and a concrete-inherited subclass would raise an error if those relationships were set up using “backref”, while setting up the identical configuration using relationship() instead with the conflicting names would succeed, as is allowed in the case of a concrete mapping.
也可以看看
Same-named backrefs will not raise an error when applied to concrete inheritance subclasses时,相同名称的backrefs不会引发错误
参考文献:#3630
[orm] [bug] The Session.merge()
method now tracks pending objects by primary key before emitting an INSERT, and merges distinct objects with duplicate primary keys together as they are encountered, which is essentially semi-deterministic at best. 此行为与持久对象已发生的情况相匹配。
参考文献:#3601
[orm] [bug] Fixed bug where the “single table inheritance” criteria would be added onto the end of a query in some inappropriate situations, such as when querying from an exists() of a single-inheritance subclass.
¶参考文献:#3582
[orm] [bug] Added a new type-level modifier TypeEngine.evaluates_none()
which indicates to the ORM that a positive set of None should be persisted as the value NULL, instead of omitting the column from the INSERT statement. 此功能既可用作#3514实现的一部分,也可用于任何类型的独立功能。
也可以看看
New options allowing explicit persistence of NULL over a default上显式持久化NULL的新选项
参考文献:#3250
[orm] [bug] Internal calls to “bookkeeping” functions within Session.bulk_save_objects()
and related bulk methods have been scaled back to the extent that this functionality is not currently used, e.g. checks for column default values to be fetched after an INSERT or UPDATE statement.¶
参考文献:#3526
[orm] [bug] [postgresql] 结合Postgresql postgresql.JSON
类型对None
的值进行了修补。当JSON.none_as_null
标志的默认值为False
时,ORM现在可以正确插入Json“'null'”字符串到列中ORM对象被设置为值None
,或者当None
值与Session.bulk_insert_mappings()
一起使用时,t12>如果列上有默认或服务器默认值。
也可以看看
JSON “null” is inserted as expected with ORM operations, regardless of column default present
New options allowing explicit persistence of NULL over a default上显式持久化NULL的新选项
参考文献:#3514
[orm] [change] 不推荐使用Mapper.order_by
参数。这是一个旧参数,不再与SQLAlchemy的工作方式有关,一旦Query对象被引入。通过贬低它,我们确定我们不支持非工作用例,并鼓励应用程序退出使用此参数。
参考文献:#3394
[orm] [change] 不推荐使用Session.weak_identity_map
参数。请参阅Session Referencing Behavior中的新配方,了解基于事件的方法来维护强身份图行为。
参考文献:#2677
[engine] [feature] Added connection pool events ConnectionEvents.close()
, ConnectionEvents.detach()
, ConnectionEvents.close_detached()
.¶
[engine] [feature] 用于日志记录,异常和repr()
目的的绑定参数集和结果行的所有字符串格式现在会截断每个集合中非常大的标量值,包括“N个字符截断”符号,类似于大型多参数集的显示如何被截断。
也可以看看
Large parameter and row values are now truncated in logging and exception displays中,大参数和行值现在被截断
参考文献:#2837
[engine] [feature] 添加了Table
对象的多租户模式转换。这支持在许多模式中使用同一组Table
对象的应用程序的用例,例如schema-per-user。添加新的执行选项Connection.execution_options.schema_translate_map
。
参考文献:#2685
[engine] [feature] 为引擎添加了一个新的入口点系统,以允许在URL的查询字符串中声明“插件”。可以编写自定义插件,预先给予机会改变和/或使用引擎的URL和关键字参数,然后在引擎创建时将给引擎本身以允许进行额外的修改或事件注册。插件被编写为CreateEnginePlugin
的子类;详情请参见该课程。¶
参考文献:#3536
[sql] [feature] 通过新的FromClause.tablesample()
方法和独立函数添加了TABLESAMPLE支持。拉尔请求IljaEverilä礼貌。
参考文献:#3718
[sql] [feature] 使用expression.over.range_
和expression.over.rows
参数增加了对窗口函数范围的支持。
参考文献:#3049
[sql] [feature] Implemented reflection of CHECK constraints for SQLite and Postgresql. 这可以通过新的检查器方法Inspector.get_check_constraints()
以及以CheckConstraint
对象的形式反映Table
约束收集。拉格请求礼貌AlexGrönholm。¶
参考:请求位桶:80
[sql] [feature] New ColumnOperators.is_distinct_from()
and ColumnOperators.isnot_distinct_from()
operators; pull request courtesy Sebastian Bank.
[sql] [feature] 在DDLCompiler.visit_create_table()
中添加了名为DDLCompiler.create_table_suffix()
的钩子,允许自定义方言在添加关键字之后“CREATE TABLE”子句。拉马克桑丹要求礼貌。¶
参考文献:请求github:275
[sql] [feature] 现在,可以从ResultProxy
返回的行容纳负整数索引。请求礼貌Emanuele Gaifas。
参考文献:请求github:231
[sql] [feature] Added Select.lateral()
and related constructs to allow for the SQL standard LATERAL keyword, currently only supported by Postgresql.
参考文献:#2857
[sql] [feature] 增加了对“Core Full”和ORM渲染“FULL OUTER JOIN”的支持。拉提请求Stefan Urbanek提供。
¶参考文献:#1957,请求github:209
[sql] [feature] CTE functionality has been expanded to support all DML, allowing INSERT, UPDATE, and DELETE statements to both specify their own WITH clause, as well as for these statements themselves to be CTE expressions when they include a RETURNING clause.
¶参考文献:#2551
[sql] [feature] 添加了对PEP-435型枚举类的支持,即Python 3的enum.Enum
类,但也包括兼容的枚举库,支持types.Enum
数据类型。types.Enum
数据类型现在还执行输入值的Python验证,并添加一个选项以放弃创建CHECK约束Enum.create_constraint
。拉格请求礼貌AlexGrönholm。
[sql] [feature] A deep improvement to the recently added TextClause.columns()
method, and its interaction with result-row processing, now allows the columns passed to the method to be positionally matched with the result columns in the statement, rather than matching on name alone. 这样做的好处包括,在将文本SQL语句链接到ORM或Core表模型时,不需要为公共列名称添加标签或重复数据删除系统,这也意味着无需担心标签名称如何匹配ORM列等等。In addition, the ResultProxy
has been further enhanced to map column and string keys to a row with greater precision in some cases.
也可以看看
ResultSet column matching enhancements; positional column setup for textual SQL - feature overview
TextClause.columns() will match columns positionally, not by name, when passed positionally - backwards compatibility remarks
参考文献:#3501
[sql] [feature] 为核心types.JSON
添加了一个新类型。This is the base of the PostgreSQL postgresql.JSON
type as well as that of the new mysql.JSON
type, so that a PG/MySQL-agnostic JSON column may be used. 该类型具有基本索引和路径搜索支持。
参考文献:#3619
[sql] [feature] 增加了对< t2> WITHIN 形式的“集合” GROUP (ORDER tt>> BY >)
,使用FunctionElement.within_group()
已经添加了一系列具有从该集合派生的返回类型的常见集合集合函数。这包括percentile_cont
,dense_rank
等功能。
参考文献:#1370
[sql] [feature] [postgresql] 增加了对SQL标准函数array_agg
的支持,该函数会自动返回正确的postgresql.ARRAY
键入和支持索引/切片操作,以及postgresql.array_agg()
,它会返回一个带有附加比较特征的postgresql.ARRAY
。由于目前只有Postgresql支持数组,所以实际上只能在Postgresql上运行。还添加了一个新的构造postgresql.aggregate_order_by
,以支持PG的“ORDER BY”扩展。
参考文献:#3132
[sql] [feature] 为核心types.ARRAY
添加了一个新类型。这是PostgreSQL postgresql.ARRAY
类型的基础,现在成为Core的一部分,开始支持各种支持SQL标准数组的支持功能,包括一些功能和最终支持其他数据库上的本地数组一个“数组”的概念,比如DB2或Oracle。此外,还添加了新的运算符expression.any_()
和expression.all_()
。这些不仅支持Postgresql上的数组构造,还支持在MySQL上可用的子查询(但可惜不在Postgresql上)。
参考文献:#3516
[sql] [bug] FromClause.count()
已弃用。该函数使用表中的任意列并且不可靠;对于核心用途,应该首选func.count()
。¶
参考文献:#3724
[sql] [bug] Fixed an assertion that would raise somewhat inappropriately if a Index
were associated with a Column
that is associated with a lower-case-t TableClause
; the association should be ignored for the purposes of associating the index with a Table
.¶
参考文献:#3616
[sql] [bug] The type_coerce()
construct is now a fully fledged Core expression element which is late-evaluated at compile time. 以前,函数只是一个转换函数,它可以通过返回一个面向列的表达式或一个给定的BindParameter
对象的副本的Label
来处理不同的表达式输入,特别是当ORM级表达式转换将列转换为绑定参数时(例如,用于延迟加载)时,操作无法在逻辑上维护。
参考文献:#3531
[sql] [bug] The TypeDecorator
type extender will now work in conjunction with a SchemaType
implementation, typically Enum
or Boolean
with regards to ensuring that the per-table events are propagated from the implementation type to the outer type. 这些事件用于确保约束或Postgresql类型(例如ENUM)与父表一起正确创建(并可能被删除)。
参考文献:#2919
[sql] [bug] The behavior of the union()
construct and related constructs such as Query.union()
now handle the case where the embedded SELECT statements need to be parenthesized due to the fact that they include LIMIT, OFFSET and/or ORDER BY. 这些查询在SQLite上不起作用,并且会像以前那样在后端上失败,但现在应该在所有其他后端上运行。
也可以看看
A UNION or similar of SELECTs with LIMIT/OFFSET/ORDER BY now parenthesizes the embedded selects
参考文献:#2528
[sql] [mysql] [change] The system by which a Column
considers itself to be an “auto increment” column has been changed, such that autoincrement is no longer implicitly enabled for a Table
that has a composite primary key. 为了适应能够为复合PK成员列启用自动增量功能,同时保持SQLAlchemy为单个整数主键启用隐式自动增量的长期行为,第三个状态已添加到Column.autoincrement
参数"auto"
,现在是默认值。
也可以看看
The .autoincrement directive is no longer implicitly enabled for a composite primary key column
No more generation of an implicit KEY for composite primary key w/ AUTO_INCREMENT的组合主键生成隐式KEY
参考文献:#3216
[schema] [enhancement] 传递给Column
对象的默认生成函数现在通过“update_wrapper”运行,或者在传递可调用非函数时通过等效函数运行内省工具保留了包装函数的名称和文档字符串。请求礼貌hsum。¶
参考文献:请求github:204
[postgresql] [feature] 使用新的Postgresql特定的postgresql.dml.Insert
对象添加了对Postgresql的INSERT..ON CONFLICT的支持。拉宾的请求和广泛的努力由罗宾托马斯。
参考文献:#3529
[postgresql] [feature] 如果在Index
上设置了postgresql_concurrently
标志,且DROP INDEX的DDL将发出“CONCURRENTLY”在使用中被检测为Postgresql 9.2或更高版本。对于CREATE INDEX,还添加了数据库版本检测,如果PG版本小于8.2,则会删除该子句。请求礼物Iuri de Silvio。¶
[postgresql] [feature] 增加了新的参数PGInspector.get_view_names.include
,允许指定应返回哪种视图。目前包括“简单”和“物化”视图。请求Sebastian Bank提供。¶
参考文献:#3588
[postgresql] [feature] 添加postgresql_tablespace
作为Index
的参数,以允许为Postgresql中的索引指定TABLESPACE。补充Table
上的同名参数。请求礼貌Benjamin Bertrand。¶
参考文献:#3720
[postgresql] [feature] Added new parameter GenerativeSelect.with_for_update.key_share
, which will render the FOR NO KEY UPDATE
version of FOR UPDATE
and FOR KEY SHARE
instead of FOR SHARE
on the Postgresql backend. 请求谢谢Skopin。¶
参考文献:请求github:297
[postgresql] [feature] [oracle] Added new parameter GenerativeSelect.with_for_update.skip_locked
, which will render the SKIP LOCKED
phrase for a FOR UPDATE
or FOR SHARE
lock on the Postgresql and Oracle backends. 拉请求Jack Zhou提供。¶
[postgresql] [feature] 为PyGreSQL Postgresql方言增加了一种新的方言。感谢Christoph Zwerschke和Kaolin Imago Fire的努力。¶
[postgresql] [feature] 增加了一个新的常量postgresql.JSON.NULL
,表示无论其他设置如何,都应该使用JSON NULL值作为值。
参考文献:#3514
[postgresql] [bug] 新增支持将物化视图的来源反映到Inspector.get_view_definition()
方法的Postgresql版本。¶
参考文献:#3587
[postgresql] [bug] The use of a postgresql.ARRAY
object that refers to a types.Enum
or postgresql.ENUM
subtype will now emit the expected “CREATE TYPE” and “DROP TYPE” DDL when the type is used within a “CREATE TABLE” or “DROP TABLE”.
参考文献:#2729
[postgresql] [bug] 特殊数据类型(如postgresql.ARRAY
,postgresql.JSON
和postgresql.HSTORE
现在设置为False,这允许这些类型可以在包含行内实体的ORM查询中获取。
参考文献:#3499
[postgresql] [bug] The Postgresql postgresql.ARRAY
type now supports multidimensional indexed access, e.g. expressions such as somecol[5][6]
without any need for explicit casts or type coercions, provided that the postgresql.ARRAY.dimensions
parameter is set to the desired number of dimensions.
参考文献:#3487
[postgresql] [bug] 使用索引访问时,postgresql.JSON
和postgresql.JSONB
的返回类型已得到修复,例如Postgresql本身,并返回一个表达式,该表达式本身是postgresql.JSON
或postgresql.JSONB
类型。之前,访问器将返回NullType
,这将禁止使用后续的类JSON运算符。
参考文献:#3503
[postgresql] [bug] The postgresql.JSON
, postgresql.JSONB
and postgresql.HSTORE
datatypes now allow full control over the return type from an indexed textual access operation, either column[someindex].astext
for a JSON type or column[someindex]
for an HSTORE type, via the postgresql.JSON.astext_type
and postgresql.HSTORE.text_type
parameters.
参考文献:#3503
[postgresql] [bug] The postgresql.JSON.Comparator.astext
modifier no longer calls upon ColumnElement.cast()
implicitly, as PG’s JSON/JSONB types allow cross-casting between each other as well. 在JSON索引访问中使用ColumnElement.cast()
的代码,例如需要修改col[someindex].cast(Integer)
,以显式调用postgresql.JSON.Comparator.astext
。
参考文献:#3503
[postgresql] [change] 已过时弃用sqlalchemy.dialects.postgres
模块;这已经发出了许多年的警告,并且项目应该调用sqlalchemy.dialects.postgresql
。然而,postgres://
形式的引擎网址仍然会继续运作。¶
[mysql] [feature] 通过AUTOCOMMIT隔离级别设置增加了对MySQL驱动程序的“autocommit”的支持。请求Roman Romania礼貌的请求。
¶参考文献:#3332
[mysql] [feature] 为MySQL 5.7添加了mysql.JSON
。JSON类型提供了MySQL中的JSON值的持久性以及“getitem”和“getpath”的基本运算符支持,利用JSON_EXTRACT
函数引用JSON结构中的各个路径。
也可以看看
参考文献:#3547
[mysql] [change] The MySQL dialect no longer generates an extra “KEY” directive when generating CREATE TABLE DDL for a table using InnoDB with a composite primary key with AUTO_INCREMENT on a column that isn’t the first column; to overcome InnoDB’s limitation here, the PRIMARY KEY constraint is now generated with the AUTO_INCREMENT column placed first in the list of columns.
也可以看看
No more generation of an implicit KEY for composite primary key w/ AUTO_INCREMENT的组合主键生成隐式KEY
The .autoincrement directive is no longer implicitly enabled for a composite primary key column
参考文献:#3216
[sqlite] [feature] 现在,SQLite方言反映了ON UPDATE和ON DELETE短语在外键约束内。请求礼貌Michal Petrucha。¶
参考文献:请求github:244
[sqlite] [feature] SQLite方言现在反映了主键约束的名称。拉请求戴安娜克拉克礼貌。
¶参考文献:#3629
[sqlite] [bug] The workaround for right-nested joins on SQLite, where they are rewritten as subqueries in order to work around SQLite’s lack of support for this syntax, is lifted when SQLite version 3.7.16 or greater is detected.
¶参考文献:#3634
[sqlite] [bug] The workaround for SQLite’s unexpected delivery of column names as tablename.columnname
for some kinds of queries is now disabled when SQLite version 3.10.0 or greater is detected.
参考文献:#3633
[sqlite] [change] 增加了对用于SQLite的Inspector.get_schema_names()
方法的SQLite方言的支持;拉请求礼貌Brian Van Klaveren。还修复了对使用模式创建索引的支持以及模式绑定表中对外键约束的反映。
[mssql] [feature] The mssql_clustered
flag available on UniqueConstraint
, PrimaryKeyConstraint
, Index
now defaults to None
, and can be set to False which will render the NONCLUSTERED keyword in particular for a primary key, allowing a different index to be used as “clustered”. 请求礼貌SauliusŽemaitaitis。¶
[mssql] [feature] 通过create_engine.isolation_level
和Connection.execution_options.isolation_level
参数为SQL Server方言添加了基本的隔离级别支持。
参考文献:#3534
[mssql] [bug] 根据VARBINARY
数据类型适当调整mxODBC方言以使用BinaryNull
符号。拉拉请求礼貌艾伦。¶
修复了SQL Server方言通过将令牌"max"
分配给具有无限长度的字符串长度或其他可变长度列类型来解决问题的问题。[mssql] [bug] 字符串的长度属性。虽然显式使用"max"
标记受SQL Server方言支持,但它不是基本字符串类型的常规协定的一部分,而是应将其长度保留为None。现在该方言将该长度指定为无,以反映该类型,以便该类型在其他上下文中正常运行。
参考文献:#3504
[mssql] [change] The legacy_schema_aliasing
flag, introduced in version 1.0.5 as part of #3424 to allow disabling of the MSSQL dialect’s attempts to create aliases for schema-qualified tables, now defaults to False; the old behavior is now disabled unless explicitly turned on.
参考文献:#3434
[feature] [ext] 将MutableSet
和MutableList
辅助类添加到Mutation Tracking扩展中。请求Jeong YunWon提供。¶
参考文献:#3297
[bug] [ext] The docstring specified on a hybrid property or method is now honored at the class level, allowing it to work with tools like Sphinx autodoc. 这里的机制必然涉及混合属性的表达式的一些包装,这可能导致它们使用内省而出现不同。
¶参考文献:#3653
[bug] [sybase] 尝试编译包含“offset”的查询时,不支持的Sybase方言现在引发NotImplementedError
; Sybase没有直接的“偏移”功能。¶
参考文献:#2278