| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upgrade to release 1.3.22:
- Fixed regression which occured due to #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 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.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Acked-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
Upgrade to release 1.3.20:
orm:
- An ArgumentError with more detail is now raised if the target
parameter for Query.join() is set to an unmapped object. Prior
to this change a less detailed AttributeError was raised.
- 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.
engine:
- Fixed issue where a non-string object sent to SQLAlchemyError or
a subclass, as occurs with some third party dialects, would fail
to stringify correctly.
- Repaired a function-level import that was not using SQLAlchemy’s
standard late-import system within the sqlalchemy.exc module.
sql:
- Fixed issue where the pickle.dumps() operation against Over
construct would produce a recursion overflow.
- Fixed bug where an error was not raised in the case where a
column() were added to more than one table() at a time. This
raised correctly for the Column and Table objects. An
ArgumentError is now raised when this occurs.
postgresql:
- The psycopg2 dialect now support PostgreSQL multiple host
connections, by passing host/port combinations to the query
string.
- Adjusted the Comparator.any() and Comparator.all() methods to
implement a straight “NOT” operation for negation, rather than
negating the comparison operator.
- Fixed issue where the 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.
mysql:
- Adjusted the MySQL dialect to correctly parenthesize functional
index expressions as accepted by MySQL 8.
- 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.
- 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.
- 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.
mssql:
- 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.
misc:
- Fixed issue where the following pool parameters were not being
propagated to the new pool created when Engine.dispose() were
called: pre_ping, use_lifo. Additionally the recycle and
reset_on_return parameter is now propagated for the AssertionPool
class.
- 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.
- Fixed incompatibilities in the test suite when running against
Pytest 6.x.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Acked-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|