shankarpandala / lazypredict

Lazy Predict help build a lot of basic models without much code and helps understand which models works better without any parameter tuning
MIT License
2.87k stars 331 forks source link

Update sqlalchemy to 1.3.21 #288

Closed pyup-bot closed 3 years ago

pyup-bot commented 3 years ago

This PR updates SQLAlchemy from 1.3.18 to 1.3.21.

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:: ``` ### 1.3.20 ``` :released: October 12, 2020 .. change:: :tags: bug, orm :tickets: 4428 An :class:`.ArgumentError` with more detail is now raised if the target parameter for :meth:`_query.Query.join` is set to an unmapped object. Prior to this change a less detailed ``AttributeError`` was raised. Pull request courtesy Ramon Williams. .. change:: :tags: bug, mysql :tickets: 5568 The "skip_locked" keyword used with ``with_for_update()`` will emit a warning when used on MariaDB backends, and will then be ignored. This is a deprecated behavior that will raise in SQLAlchemy 1.4, as an application that requests "skip locked" is looking for a non-blocking operation which is not available on those backends. .. change:: :tags: bug, engine :tickets: 5599 Fixed issue where a non-string object sent to :class:`_exc.SQLAlchemyError` or a subclass, as occurs with some third party dialects, would fail to stringify correctly. Pull request courtesy Andrzej Bartosiński. .. change:: :tags: bug, sql :tickets: 5644 Fixed issue where the ``pickle.dumps()`` operation against :class:`_expression.Over` construct would produce a recursion overflow. .. change:: :tags: postgresql, usecase :tickets: 4392 The psycopg2 dialect now support PostgreSQL multiple host connections, by passing host/port combinations to the query string. Pull request courtesy Ramon Williams. .. seealso:: :ref:`psycopg2_multi_host` .. change:: :tags: bug, mysql :tickets: 5617 Fixed bug where an UPDATE statement against a JOIN using MySQL multi-table format would fail to include the table prefix for the target table if the statement had no WHERE clause, as only the WHERE clause were scanned to detect a "multi table update" at that particular point. The target is now also scanned if it's a JOIN to get the leftmost table as the primary table and the additional entries as additional FROM entries. .. change:: :tags: bug, postgresql :tickets: 5518 Adjusted the :meth:`_types.ARRAY.Comparator.any` and :meth:`_types.ARRAY.Comparator.all` methods to implement a straight "NOT" operation for negation, rather than negating the comparison operator. .. change:: :tags: bug, pool :tickets: 5582 Fixed issue where the following pool parameters were not being propagated to the new pool created when :meth:`_engine.Engine.dispose` were called: ``pre_ping``, ``use_lifo``. Additionally the ``recycle`` and ``reset_on_return`` parameter is now propagated for the :class:`_engine.AssertionPool` class. .. change:: :tags: bug, ext, associationproxy :tickets: 5541, 5542 An informative error is now raised when attempting to use an association proxy element as a plain column expression to be SELECTed from or used in a SQL function; this use case is not currently supported. .. change:: :tags: bug, sql :tickets: 5618 Fixed bug where an error was not raised in the case where a :func:`_sql.column` were added to more than one :func:`_sql.table` at a time. This raised correctly for the :class:`_schema.Column` and :class:`_schema.Table` objects. An :class:`_exc.ArgumentError` is now raised when this occurs. .. change:: :tags: bug, orm :tickets: 4589 Fixed issue where using a loader option against a string attribute name that is not actually a mapped attribute, such as a plain Python descriptor, would raise an uninformative AttributeError; a descriptive error is now raised. .. change:: :tags: mysql, usecase :tickets: 5462 Adjusted the MySQL dialect to correctly parenthesize functional index expressions as accepted by MySQL 8. Pull request courtesy Ramon Williams. .. change:: :tags: bug, engine :tickets: 5632 Repaired a function-level import that was not using SQLAlchemy's standard late-import system within the sqlalchemy.exc module. .. change:: :tags: change, mysql :tickets: 5539 Add new MySQL reserved words: ``cube``, ``lateral`` added in MySQL 8.0.1 and 8.0.14, respectively; this indicates that these terms will be quoted if used as table or column identifier names. .. change:: :tags: bug, mssql :tickets: 5592 Fixed issue where a SQLAlchemy connection URI for Azure DW with ``authentication=ActiveDirectoryIntegrated`` (and no username+password) was not constructing the ODBC connection string in a way that was acceptable to the Azure DW instance. .. change:: :tags: bug, postgresql :tickets: 5520 Fixed issue where the :class:`_postgresql.ENUM` type would not consult the schema translate map when emitting a CREATE TYPE or DROP TYPE during the test to see if the type exists or not. Additionally, repaired an issue where if the same enum were encountered multiple times in a single DDL sequence, the "check" query would run repeatedly rather than relying upon a cached value. .. change:: :tags: bug, tests :tickets: 5635 Fixed incompatibilities in the test suite when running against Pytest 6.x. .. changelog:: ``` ### 1.3.19 ``` :released: August 17, 2020 .. change:: :tags: usecase, py3k :tickets: 5357 Added a ``**kw`` argument to the :meth:`.DeclarativeMeta.__init__` method. This allows a class to support the :pep:`487` metaclass hook ``__init_subclass__``. Pull request courtesy Ewen Gillies. .. change:: :tags: bug, sql :tickets: 5470 Repaired an issue where the "ORDER BY" clause rendering a label name rather than a complete expression, which is particularly important for SQL Server, would fail to occur if the expression were enclosed in a parenthesized grouping in some cases. This case has been added to test support. The change additionally adjusts the "automatically add ORDER BY columns when DISTINCT is present" behavior of ORM query, deprecated in 1.4, to more accurately detect column expressions that are already present. .. change:: :tags: usecase, mysql :tickets: 5481 The MySQL dialect will render FROM DUAL for a SELECT statement that has no FROM clause but has a WHERE clause. This allows things like "SELECT 1 WHERE EXISTS (subquery)" kinds of queries to be used as well as other use cases. .. change:: :tags: bug, mssql, sql :tickets: 5467 Fixed bug where the mssql dialect incorrectly escaped object names that contained ']' character(s). .. change:: :tags: bug, reflection, sqlite, mssql :tickets: 5456 Applied a sweep through all included dialects to ensure names that contain single or double quotes are properly escaped when querying system tables, for all :class:`.Inspector` methods that accept object names as an argument (e.g. table names, view names, etc). SQLite and MSSQL contained two quoting issues that were repaired. .. change:: :tags: bug, mysql :tickets: 5411 Fixed an issue where CREATE TABLE statements were not specifying the COLLATE keyword correctly. .. change:: :tags: bug, datatypes, sql :tickets: 4733 The ``LookupError`` message will now provide the user with up to four possible values that a column is constrained to via the :class:`.Enum`. Values longer than 11 characters will be truncated and replaced with ellipses. Pull request courtesy Ramon Williams. .. change:: :tags: bug, postgresql :tickets: 5476 Fixed issue where the return type for the various RANGE comparison operators would itself be the same RANGE type rather than BOOLEAN, which would cause an undesirable result in the case that a :class:`.TypeDecorator` that defined result-processing behavior were in use. Pull request courtesy Jim Bosch. .. change:: :tags: bug, mysql :tickets: 5493 Added MariaDB code 1927 to the list of "disconnect" codes, as recent MariaDB versions apparently use this code when the database server was stopped. .. change:: :tags: usecase, declarative, orm :tickets: 5513 The name of the virtual column used when using the :class:`_declarative.AbstractConcreteBase` and :class:`_declarative.ConcreteBase` classes can now be customized, to allow for models that have a column that is actually named ``type``. Pull request courtesy Jesse-Bakker. .. change:: :tags: usecase, orm :tickets: 5494 Adjusted the workings of the :meth:`_orm.Mapper.all_orm_descriptors` accessor to represent the attributes in the order that they are located in a deterministic way, assuming the use of Python 3.6 or higher which maintains the sorting order of class attributes based on how they were declared. This sorting is not guaranteed to match the declared order of attributes in all cases however; see the method documentation for the exact scheme. .. change:: :tags: bug, sql :tickets: 5500 Fixed issue where the :paramref:`_engine.Connection.execution_options.schema_translate_map` feature would not take effect when the :meth:`_schema.Sequence.next_value` function function for a :class:`_schema.Sequence` were used in the :paramref:`_schema.Column.server_default` parameter and the create table DDL were emitted. .. changelog:: ```
Links - PyPI: https://pypi.org/project/sqlalchemy - Changelog: https://pyup.io/changelogs/sqlalchemy/ - Homepage: http://www.sqlalchemy.org
pyup-bot commented 3 years ago

Closing this in favor of #289