1.1.7
Released: March 27, 2017
orm
-
[orm] [feature] An
aliased()
construct can now be passed to the
Query.select_entity_from()
method. Entities will be pulled
from the selectable represented by thealiased()
construct.
This allows special options foraliased()
such as
aliased.adapt_on_names
to be used in conjunction with
Query.select_entity_from()
.References: #3933
-
[orm] [bug] Fixed a race condition which could occur under threaded environments
as a result of the caching added via #3915. An internal
collection ofColumn
objects could be regenerated on an alias
object inappropriately, confusing a joined eager loader when it
attempts to render SQL and collect results and resulting in an
attribute error. The collection is now generated up front before
the alias object is cached and shared among threads.References: #3947
engine
-
[engine] [bug] Added an exception handler that will warn for the "cause" exception on
Py2K when the "autorollback" feature ofConnection
itself
raises an exception. In Py3K, the two exceptions are naturally reported
by the interpreter as one occurring during the handling of the other.
This is continuing with the series of changes for rollback failure
handling that were last visited as part of #2696 in 1.0.12.References: #3946
sql
-
[sql] [bug] [postgresql] Added support for the
Variant
and theSchemaType
objects to be compatible with each other. That is, a variant
can be created against a type likeEnum
, and the instructions
to create constraints and/or database-specific type objects will
propagate correctly as per the variant's dialect mapping.References: #2892
-
[sql] [bug] Fixed bug in compiler where the string identifier of a savepoint would
be cached in the identifier quoting dictionary; as these identifiers
are arbitrary, a small memory leak could occur if a single
Connection
had an unbounded number of savepoints used,
as well as if the savepoint clause constructs were used directly
with an unbounded umber of savepoint names. The memory leak does
not impact the vast majority of cases as normally the
Connection
, which renders savepoint names with a simple
counter starting at "1", is used on a per-transaction or
per-fixed-number-of-transactions basis before being discarded.References: #3931
-
[sql] [bug] Fixed bug in new "schema translate" feature where the translated schema
name would be invoked in terms of an alias name when rendered along
with a column expression; occurred only when the source translate
name was "None". The "schema translate" feature now only takes
effect forSchemaItem
andSchemaType
subclasses,
that is, objects that correspond to a DDL-creatable structure in
a database.References: #3924
oracle
-
[oracle] [bug] A fix to cx_Oracle's WITH_UNICODE mode which was uncovered by the
fact that cx_Oracle 5.3 now seems to hardcode this flag on in
the build; an internal method that uses this mode wasn't using
the correct signature.This change is also backported to: 1.0.18
References: #3937