github sqlalchemy/sqlalchemy rel_1_3_21
1.3.21

latest releases: rel_2_0_35, rel_1_4_54, rel_2_0_34...
3 years ago

1.3.21

Released: December 17, 2020

orm

  • [orm] [bug] Added a comprehensive check and an informative error message for the case
    where a mapped class, or a string mapped class name, is passed to
    _orm.relationship.secondary. This is an extremely common error
    which warrants a clear message.

    Additionally, added a new rule to the class registry resolution such that
    with regards to the _orm.relationship.secondary parameter, if a
    mapped class and its table are of the identical string name, the
    Table will be favored when resolving this parameter. In all
    other cases, the class continues to be favored if a class and table
    share the identical name.

    References: #5774

  • [orm] [bug] Fixed bug in _query.Query.update() where objects in the
    _ormsession.Session that were already expired would be
    unnecessarily SELECTed individually when they were refreshed by the
    "evaluate"synchronize strategy.

    References: #5664

  • [orm] [bug] Fixed bug involving the restore_load_context option of ORM events such
    as _ormevent.InstanceEvents.load() such that the flag would not be
    carried along to subclasses which were mapped after the event handler were
    first established.

    References: #5737

sql

  • [sql] [bug] A warning is emmitted if a returning() method such as
    _sql.Insert.returning() is called multiple times, as this does not
    yet support additive operation. Version 1.4 will support additive
    operation for this. Additionally, any combination of the
    _sql.Insert.returning() and _sql.ValuesBase.return_defaults()
    methods now raises an error as these methods are mutually exclusive;
    previously the operation would fail silently.

    References: #5691

  • [sql] [bug] Fixed structural compiler issue where some constructs such as MySQL /
    PostgreSQL "on conflict / on duplicate key" would rely upon the state of
    the _sql.Compiler object being fixed against their statement as
    the top level statement, which would fail in cases where those statements
    are branched from a different context, such as a DDL construct linked to a
    SQL statement.

    References: #5656

postgresql

  • [postgresql] [usecase] Added new parameter _postgresql.ExcludeConstraint.ops to the
    _postgresql.ExcludeConstraint object, to support operator class
    specification with this constraint. Pull request courtesy Alon Menczer.

    References: #5604

  • [postgresql] [bug] [mysql] Fixed regression introduced in 1.3.2 for the PostgreSQL dialect, also
    copied out to the MySQL dialect's feature in 1.3.18, where usage of a non
    _schema.Table construct such as _sql.text() as the argument
    to _sql.Select.with_for_update.of would fail to be accommodated
    correctly within the PostgreSQL or MySQL compilers.

    References: #5729

mysql

  • [mysql] [bug] [reflection] Fixed issue where reflecting a server default on MariaDB only that
    contained a decimal point in the value would fail to be reflected
    correctly, leading towards a reflected table that lacked any server
    default.

    References: #5744

  • [mysql] [sql] Added missing keywords to the RESERVED_WORDS list for the MySQL
    dialect: action, level, mode, status, text, time.
    Pull request courtesy Oscar Batori.

    References: #5696

sqlite

  • [sqlite] [usecase] Added sqlite_with_rowid=False dialect keyword to enable creating
    tables as CREATE TABLE … WITHOUT ROWID. Patch courtesy Sean Anderson.

    References: #5685

mssql

  • [mssql] [bug] Fixed bug where a CREATE INDEX statement was rendered incorrectly when
    both mssql-include and mssql_where were specified. Pull request
    courtesy @Adiorz.

    References: #5751

  • [mssql] [bug] Added SQL Server code "01000" to the list of disconnect codes.

    References: #5646

  • [mssql] [reflection] [sqlite] Fixed issue with composite primary key columns not being reported
    in the correct order. Patch courtesy @fulpm.

    References: #5661

oracle

  • [oracle] [usecase] Implemented support for the SERIALIZABLE isolation level for Oracle
    databases, as well as a real implementation for
    _engine.Connection.get_isolation_level().

    References: #5755

Don't miss a new sqlalchemy release

NewReleases is sending notifications on new releases.