Skip to content

Bump sqlalchemy from 1.3.20 to 1.4.14

Norman Ziegner requested to merge dependabot/pip/sqlalchemy-1.4.14 into master

Bumps sqlalchemy from 1.3.20 to 1.4.14.

Release notes

Sourced from sqlalchemy's releases.

1.4.14

Released: May 6, 2021

orm

  • [orm] [bug] [regression] Fixed regression involving lazy='dynamic' loader in conjunction with a detached object. The previous behavior was that the dynamic loader upon calling methods like .all() returns empty lists for detached objects without error, this has been restored; however a warning is now emitted as this is not the correct result. Other dynamic loader scenarios correctly raise DetachedInstanceError.

    References: #6426

engine

  • [engine] [usecase] [orm] Applied consistent behavior to the use case of calling .commit() or .rollback() inside of an existing .begin() context manager, with the addition of potentially emitting SQL within the block subsequent to the commit or rollback. This change continues upon the change first added in #6155 where the use case of calling "rollback" inside of a .begin() contextmanager block was proposed:

    -   calling `.commit()` or `.rollback()` will now be allowed
        without error or warning within all scopes, including
        that of legacy and future `_engine.Engine`, ORM
        `_orm.Session`, asyncio `AsyncEngine`.  Previously,
        the `_orm.Session` disallowed this.
    
    -   The remaining scope of the context manager is then closed;
        when the block ends, a check is emitted to see if the transaction
        was already ended, and if so the block returns without action.
    
    -   It will now raise **an error** if subsequent SQL of any kind
        is emitted within the block, **after** `.commit()` or
        `.rollback()` is called.   The block should be closed as
        the state of the executable object would otherwise be undefined
        in this state.

    References: #6288

  • [engine] [bug] [regression] Established a deprecation path for calling upon the _cursor.CursorResult.keys() method for a statement that returns no rows to provide support for legacy patterns used by the "records" package as well as any other non-migrated applications. Previously, this would raise ResourceClosedException unconditionally in the same way as

... (truncated)

Commits

Merge request reports