github sqlalchemy/sqlalchemy rel_1_1_7


Released: March 27, 2017


  • [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 the aliased() construct.
    This allows special options for aliased() such as
    aliased.adapt_on_names to be used in conjunction with

    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 of Column 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] [bug] Added an exception handler that will warn for the "cause" exception on
    Py2K when the "autorollback" feature of Connection 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] [bug] [postgresql] Added support for the Variant and the SchemaType
    objects to be compatible with each other. That is, a variant
    can be created against a type like Enum, 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 for SchemaItem and SchemaType subclasses,
    that is, objects that correspond to a DDL-creatable structure in
    a database.

    References: #3924


  • [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

latest releases: rel_1_3_20, rel_1_3_19, rel_1_3_18...
14 months ago