1.1.14
Released: September 5, 2017
orm
-
[orm] [bug] Fixed bug in
Session.merge()
following along similar lines as that
of #4030, where an internal check for a target object in
the identity map could lead to an error if it were to be garbage collected
immediately before the merge routine actually retrieves the object.References: #4069
-
[orm] [bug] Fixed bug where an
undefer_group()
option would not be recognized
if it extended from a relationship that was loading using joined eager
loading. Additionally, as the bug led to excess work being performed,
Python function call counts are also improved by 20% within the initial
calculation of result set columns, complementing the joined eager load
improvements of #3915.References: #4048
-
[orm] [bug] Fixed race condition in ORM identity map which would cause objects
to be inappropriately removed during a load operation, causing
duplicate object identities to occur, particularly under joined eager
loading which involves deduplication of objects. The issue is specific
to garbage collection of weak references and is observed only under the
PyPy interpreter.References: #4068
-
[orm] [bug] Fixed bug in
Session.merge()
where objects in a collection that had
the primary key attribute set toNone
for a key that is typically
autoincrementing would be considered to be a database-persisted key for
part of the internal deduplication process, causing only one object to
actually be inserted in the database.References: #4056
-
[orm] [bug] An
InvalidRequestError
is raised when asynonym()
is used against an attribute that is not against aMapperProperty
,
such as an association proxy. Previously, a recursion overflow would
occur trying to locate non-existent attributes.References: #4067
sql
-
[sql] [bug] Altered the range specification for window functions to allow
for two of the same PRECEDING or FOLLOWING keywords in a range
by allowing for the left side of the range to be positive
and for the right to be negative, e.g. (1, 3) is
"1 FOLLOWING AND 3 FOLLOWING".References: #4053