Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 2, 2021

This PR updates SQLAlchemy from 1.3.20 to 1.3.23.

Changelog

1.3.23

:released: February 1, 2021

 .. change::
     :tags: bug, ext
     :tickets: 5836

     Fixed issue where the stringification that is sometimes called when
     attempting to generate the "key" for the ``.c`` collection on a selectable
     would fail if the column were an unlabeled custom SQL construct using the
     ``sqlalchemy.ext.compiler`` extension, and did not provide a default
     compilation form; while this seems like an unusual case, it can get invoked
     for some ORM scenarios such as when the expression is used in an "order by"
     in combination with joined eager loading.  The issue is that the lack of a
     default compiler function was raising :class:`.CompileError` and not
     :class:`.UnsupportedCompilationError`.

 .. change::
     :tags: bug, postgresql
     :tickets: 5645

     For SQLAlchemy 1.3 only, setup.py pins pg8000 to a version lower than
     1.16.6. Version 1.16.6 and above is supported by SQLAlchemy 1.4. Pull
     request courtesy Giuseppe Lumia.

 .. change::
     :tags: bug, postgresql
     :tickets: 5850

     Fixed issue where using :meth:`_schema.Table.to_metadata` (called
     :meth:`_schema.Table.tometadata` in 1.3) in conjunction with a PostgreSQL
     :class:`_postgresql.ExcludeConstraint` that made use of ad-hoc column
     expressions would fail to copy correctly.

 .. change::
     :tags: bug, sql
     :tickets: 5816

     Fixed bug where making use of the :meth:`.TypeEngine.with_variant` method
     on a :class:`.TypeDecorator` type would fail to take into account the
     dialect-specific mappings in use, due to a rule in :class:`.TypeDecorator`
     that was instead attempting to check for chains of :class:`.TypeDecorator`
     instances.


 .. change::
     :tags: bug, mysql, reflection
     :tickets: 5860

     Fixed bug where MySQL server default reflection would fail for numeric
     values with a negation symbol present.


 .. change::
     :tags: bug, oracle
     :tickets: 5813

     Fixed regression in Oracle dialect introduced by :ticket:`4894` in
     SQLAlchemy 1.3.11 where use of a SQL expression in RETURNING for an UPDATE
     would fail to compile, due to a check for "server_default" when an
     arbitrary SQL expression is not a column.


 .. change::
     :tags: usecase, mysql
     :tickets: 5808

     Casting to ``FLOAT`` is now supported in MySQL >= (8, 0, 17) and
     MariaDb >= (10, 4, 5).

 .. change::
     :tags: bug, mysql
     :tickets: 5898

     Fixed long-lived bug in MySQL dialect where the maximum identifier length
     of 255 was too long for names of all types of constraints, not just
     indexes, all of which have a size limit of 64. As metadata naming
     conventions can create too-long names in this area, apply the limit to the
     identifier generator within the DDL compiler.

 .. change::
     :tags: bug, oracle
     :tickets: 5812

     Fixed bug in Oracle dialect where retriving a CLOB/BLOB column via
     :meth:`_dml.Insert.returning` would fail as the LOB value would need to be
     read when returned; additionally, repaired support for retrieval of Unicode
     values via RETURNING under Python 2.

 .. change::
     :tags: bug, mysql
     :tickets: 5821

     Fixed deprecation warnings that arose as a result of the release of PyMySQL
     1.0, including deprecation warnings for the "db" and "passwd" parameters
     now replaced with "database" and "password".


 .. change::
     :tags: bug, mysql
     :tickets: 5800

     Fixed regression from SQLAlchemy 1.3.20 caused by the fix for
     :ticket:`5462` which adds double-parenthesis for MySQL functional
     expressions in indexes, as is required by the backend, this inadvertently
     extended to include arbitrary :func:`_sql.text` expressions as well as
     Alembic's internal textual component,  which are required by Alembic for
     arbitrary index expressions which don't imply double parenthesis.  The
     check has been narrowed to include only binary/ unary/functional
     expressions directly.

.. changelog::

1.3.22

:released: December 18, 2020

 .. change::
     :tags: bug, oracle
     :tickets: 5784
     :versions: 1.4.0b2

     Fixed regression which occured due to :ticket:`5755` which implemented
     isolation level support for Oracle.   It has been reported that many Oracle
     accounts don't actually have permission to query the ``v$transaction``
     view so this feature has been altered to gracefully fallback when it fails
     upon database connect, where the dialect will assume "READ COMMITTED" is
     the default isolation level as was the case prior to SQLAlchemy 1.3.21.
     However, explicit use of the :meth:`_engine.Connection.get_isolation_level`
     method must now necessarily raise an exception, as Oracle databases with
     this restriction explicitly disallow the user from reading the current
     isolation level.

.. changelog::

1.3.21

:released: December 17, 2020

 .. change::
     :tags: bug, orm
     :tickets: 5774
     :versions: 1.4.0b2

     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
     :paramref:`_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 :paramref:`_orm.relationship.secondary` parameter, if a
     mapped class and its table are of the identical string name, the
     :class:`.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.

 .. change::
     :tags: sqlite, usecase
     :tickets: 5685

     Added ``sqlite_with_rowid=False`` dialect keyword to enable creating
     tables as ``CREATE TABLE … WITHOUT ROWID``. Patch courtesy Sean Anderson.

 .. change::
     :tags: bug, sql
     :tickets: 5691

     A warning is emmitted if a returning() method such as
     :meth:`_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
     :meth:`_sql.Insert.returning` and :meth:`_sql.ValuesBase.return_defaults`
     methods now raises an error as these methods are mutually exclusive;
     previously the operation would fail silently.


 .. change::
     :tags: bug, mssql
     :tickets: 5751

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

 .. change::
     :tags: bug, postgresql, mysql
     :tickets: 5729
     :versions: 1.4.0b2

     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
     :class:`_schema.Table` construct such as :func:`_sql.text` as the argument
     to :paramref:`_sql.Select.with_for_update.of` would fail to be accommodated
     correctly within the PostgreSQL or MySQL compilers.


 .. change::
     :tags: bug, mssql
     :tickets: 5646

     Added SQL Server code "01000" to the list of disconnect codes.


 .. change::
     :tags: usecase, postgresql
     :tickets: 5604
     :versions: 1.4.0b2

     Added new parameter :paramref:`_postgresql.ExcludeConstraint.ops` to the
     :class:`_postgresql.ExcludeConstraint` object, to support operator class
     specification with this constraint.  Pull request courtesy Alon Menczer.

 .. change::
     :tags: bug, mysql, reflection
     :tickets: 5744
     :versions: 1.4.0b2

     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.


 .. change::
     :tags: bug, orm
     :tickets: 5664

     Fixed bug in :meth:`_query.Query.update` where objects in the
     :class:`_ormsession.Session` that were already expired would be
     unnecessarily SELECTed individually when they were refreshed by the
     "evaluate"synchronize strategy.

 .. change::
     :tags: usecase, oracle
     :tickets: 5755

     Implemented support for the SERIALIZABLE isolation level for Oracle
     databases, as well as a real implementation for
     :meth:`_engine.Connection.get_isolation_level`.

     .. seealso::

         :ref:`oracle_isolation_level`

 .. change::
     :tags: mysql, sql
     :tickets: 5696

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

 .. change::
     :tags: bug, orm
     :tickets: 5737
     :versions: 1.4.0b2

     Fixed bug involving the ``restore_load_context`` option of ORM events such
     as :meth:`_ormevent.InstanceEvents.load` such that the flag would not be
     carried along to subclasses which were mapped after the event handler were
     first established.



 .. change::
     :tags: bug, sql
     :tickets: 5656

     Fixed structural compiler issue where some constructs such as MySQL /
     PostgreSQL "on conflict / on duplicate key" would rely upon the state of
     the :class:`_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.


 .. change::
     :tags: mssql, sqlite, reflection
     :tickets: 5661

     Fixed issue with composite primary key columns not being reported
     in the correct order. Patch courtesy fulpm.

.. changelog::
Links

@coveralls
Copy link

Coverage Status

Coverage remained the same at 86.667% when pulling ffa0dbe on pyup-update-sqlalchemy-1.3.20-to-1.3.23 into b73c34e on master.

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #262

@pyup-bot pyup-bot closed this Mar 15, 2021
@avara1986 avara1986 deleted the pyup-update-sqlalchemy-1.3.20-to-1.3.23 branch March 15, 2021 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants