1.3.19
Released: August 17, 2020
orm
-
[orm] [usecase] Adjusted the workings of the
_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.References: #5494
orm declarative
-
[declarative] [orm] [usecase] The name of the virtual column used when using the
_declarative.AbstractConcreteBase
and
_declarative.ConcreteBase
classes can now be customized, to allow
for models that have a column that is actually namedtype
. Pull
request courtesy Jesse-Bakker.References: #5513
sql
-
[sql] [bug] 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.References: #5470
-
[sql] [bug] [datatypes] The
LookupError
message will now provide the user with up to four
possible values that a column is constrained to via theEnum
.
Values longer than 11 characters will be truncated and replaced with
ellipses. Pull request courtesy Ramon Williams.References: #4733
-
[sql] [bug] Fixed issue where the
_engine.Connection.execution_options.schema_translate_map
feature would not take effect when the_schema.Sequence.next_value()
function function for a_schema.Sequence
were used in the
_schema.Column.server_default
parameter and the create table
DDL were emitted.References: #5500
postgresql
-
[postgresql] [bug] 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
TypeDecorator
that defined result-processing behavior were in
use. Pull request courtesy Jim Bosch.References: #5476
mysql
-
[mysql] [usecase] 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.References: #5481
-
[mysql] [bug] Fixed an issue where CREATE TABLE statements were not specifying the
COLLATE keyword correctly.References: #5411
-
[mysql] [bug] Added MariaDB code 1927 to the list of "disconnect" codes, as recent
MariaDB versions apparently use this code when the database server was
stopped.References: #5493
sqlite
-
[sqlite] [bug] [mssql] [reflection] Applied a sweep through all included dialects to ensure names that contain
single or double quotes are properly escaped when querying system tables,
for allInspector
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.References: #5456
mssql
-
[mssql] [bug] [sql] Fixed bug where the mssql dialect incorrectly escaped object names that
contained ']' character(s).References: #5467