Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ca501d9

Browse files
committed
- 2.0.35
1 parent 5cf0f06 commit ca501d9

File tree

8 files changed

+80
-74
lines changed

8 files changed

+80
-74
lines changed

doc/build/changelog/changelog_20.rst

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,84 @@
1010

1111
.. changelog::
1212
:version: 2.0.35
13-
:include_notes_from: unreleased_20
13+
:released: September 16, 2024
14+
15+
.. change::
16+
:tags: bug, orm, typing
17+
:tickets: 11820
18+
19+
Fixed issue where it was not possible to use ``typing.Literal`` with
20+
``Mapped[]`` on Python 3.8 and 3.9. Pull request courtesy Frazer McLean.
21+
22+
.. change::
23+
:tags: bug, sqlite, regression
24+
:tickets: 11840
25+
26+
The changes made for SQLite CHECK constraint reflection in versions 2.0.33
27+
and 2.0.34 , :ticket:`11832` and :ticket:`11677`, have now been fully
28+
reverted, as users continued to identify existing use cases that stopped
29+
working after this change. For the moment, because SQLite does not
30+
provide any consistent way of delivering information about CHECK
31+
constraints, SQLAlchemy is limited in what CHECK constraint syntaxes can be
32+
reflected, including that a CHECK constraint must be stated all on a
33+
single, independent line (or inline on a column definition) without
34+
newlines, tabs in the constraint definition or unusual characters in the
35+
constraint name. Overall, reflection for SQLite is tailored towards being
36+
able to reflect CREATE TABLE statements that were originally created by
37+
SQLAlchemy DDL constructs. Long term work on a DDL parser that does not
38+
rely upon regular expressions may eventually improve upon this situation.
39+
A wide range of additional cross-dialect CHECK constraint reflection tests
40+
have been added as it was also a bug that these changes did not trip any
41+
existing tests.
42+
43+
.. change::
44+
:tags: orm, bug
45+
:tickets: 11849
46+
47+
Fixed issue in ORM evaluator where two datatypes being evaluated with the
48+
SQL concatenator operator would not be checked for
49+
:class:`.UnevaluatableError` based on their datatype; this missed the case
50+
of :class:`_postgresql.JSONB` values being used in a concatenate operation
51+
which is supported by PostgreSQL as well as how SQLAlchemy renders the SQL
52+
for this operation, but does not work at the Python level. By implementing
53+
:class:`.UnevaluatableError` for this combination, ORM update statements
54+
will now fall back to "expire" when a concatenated JSON value used in a SET
55+
clause is to be synchronized to a Python object.
56+
57+
.. change::
58+
:tags: bug, orm
59+
:tickets: 11853
60+
61+
An warning is emitted if :func:`_orm.joinedload` or
62+
:func:`_orm.subqueryload` are used as a top level option against a
63+
statement that is not a SELECT statement, such as with an
64+
``insert().returning()``. There are no JOINs in INSERT statements nor is
65+
there a "subquery" that can be repurposed for subquery eager loading, and
66+
for UPDATE/DELETE joinedload does not support these either, so it is never
67+
appropriate for this use to pass silently.
68+
69+
.. change::
70+
:tags: bug, orm
71+
:tickets: 11855
72+
73+
Fixed issue where using loader options such as :func:`_orm.selectinload`
74+
with additional criteria in combination with ORM DML such as
75+
:func:`_sql.insert` with RETURNING would not correctly set up internal
76+
contexts required for caching to work correctly, leading to incorrect
77+
results.
78+
79+
.. change::
80+
:tags: bug, mysql
81+
:tickets: 11870
82+
83+
Fixed issue in mariadbconnector dialect where query string arguments that
84+
weren't checked integer or boolean arguments would be ignored, such as
85+
string arguments like ``unix_socket``, etc. As part of this change, the
86+
argument parsing for particular elements such as ``client_flags``,
87+
``compress``, ``local_infile`` has been made more consistent across all
88+
MySQL / MariaDB dialect which accept each argument. Pull request courtesy
89+
Tobias Alex-Petersen.
90+
1491

1592
.. changelog::
1693
:version: 2.0.34

doc/build/changelog/unreleased_20/11820.rst

Lines changed: 0 additions & 6 deletions
This file was deleted.

doc/build/changelog/unreleased_20/11840.rst

Lines changed: 0 additions & 20 deletions
This file was deleted.

doc/build/changelog/unreleased_20/11849.rst

Lines changed: 0 additions & 13 deletions
This file was deleted.

doc/build/changelog/unreleased_20/11853.rst

Lines changed: 0 additions & 11 deletions
This file was deleted.

doc/build/changelog/unreleased_20/11855.rst

Lines changed: 0 additions & 9 deletions
This file was deleted.

doc/build/changelog/unreleased_20/11870.rst

Lines changed: 0 additions & 12 deletions
This file was deleted.

doc/build/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,9 @@
244244
# The short X.Y version.
245245
version = "2.0"
246246
# The full version, including alpha/beta/rc tags.
247-
release = "2.0.34"
247+
release = "2.0.35"
248248

249-
release_date = "September 4, 2024"
249+
release_date = "September 16, 2024"
250250

251251
site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org")
252252
site_adapter_template = "docs_adapter.mako"

0 commit comments

Comments
 (0)