github sqlalchemy/sqlalchemy rel_1_1_15


Released: November 3, 2017change:
:tags: bug, sqlite
🎟 4099
:versions: 1.2.0b3

Fixed bug where SQLite CHECK constraint reflection would fail
if the referenced table were in a remote schema, e.g. on SQLite a
remote database referred to by ATTACH.


  • [orm] [bug] [ext] Fixed bug where the association proxy would inadvertently link itself
    to an AliasedClass object if it were called first with
    the AliasedClass as a parent, causing errors upon subsequent

    References: #4116

  • [orm] [bug] Fixed bug where ORM relationship would warn against conflicting sync
    targets (e.g. two relationships would both write to the same column) for
    sibling classes in an inheritance hierarchy, where the two relationships
    would never actually conflict during writes.

    References: #4078

  • [orm] [bug] Fixed bug where correlated select used against single-table inheritance
    entity would fail to render correctly in the outer query, due to adjustment
    for single inheritance discriminator criteria inappropriately re-applying
    the criteria to the outer query.

    References: #4103

orm declarative

  • [bug] [declarative] [orm] Fixed bug where a descriptor that is elsewhere a mapped column
    or relationship within a hierarchy based on AbstractConcreteBase
    would be referred towards during a refresh operation, causing an error
    as the attribute is not mapped as a mapper property.
    A similar issue can arise for other attributes like the "type" column
    added by AbstractConcreteBase if the class fails to include
    "concrete=True" in its mapper, however the check here should also
    prevent that scenario from causing a problem.

    References: #4124


  • [sql] [bug] Fixed bug where __repr__ of ColumnDefault would fail
    if the argument were a tuple. Pull request courtesy Nicolas Caniart.

    References: #4126

  • [sql] [bug] Fixed bug where the recently added ColumnOperators.any_()
    and ColumnOperators.all_() methods didn't work when called
    as methods, as opposed to using the standalone functions
    ~.expression.any_() and ~.expression.all_(). Also
    added documentation examples for these relatively unintuitive
    SQL operators.

    References: #4093


  • [postgresql] [bug] Made further fixes to the ARRAY class in conjunction with
    COLLATE, as the fix made in #4006 failed to accommodate
    for a multidimensional array.

    References: #4006

  • [postgresql] [bug] Fixed bug in array_agg function where passing an argument
    that is already of type ARRAY, such as a PostgreSQL
    postgresql.array construct, would produce a ValueError, due
    to the function attempting to nest the arrays.

    References: #4107

  • [postgresql] [bug] Fixed bug in PostgreSQL postgresql.dml.Insert.on_conflict_do_update()
    which would prevent the insert statement from being used as a CTE,
    e.g. via Insert.cte(), within another statement.

    References: #4074


  • [mysql] [bug] Warning emitted when MariaDB 10.2.8 or earlier in the 10.2
    series is detected as there are major issues with CHECK
    constraints within these versions that were resolved as of

    Note that this changelog message was NOT released with
    SQLAlchemy 1.2.0b3 and was added retroactively.

    References: #4097

  • [mysql] [bug] MySQL 5.7.20 now warns for use of the @tx_isolation variable; a version
    check is now performed and uses @transaction_isolation instead
    to prevent this warning.

    References: #4120


  • [mssql] [bug] Added a full range of "connection closed" exception codes to the
    PyODBC dialect for SQL Server, including '08S01', '01002', '08003',
    '08007', '08S02', '08001', 'HYT00', 'HY010'. Previously, only '08S01'
    was covered.

    References: #4095

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