]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Add missing changelog file for #7153
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 11 Oct 2021 16:34:02 +0000 (12:34 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 11 Oct 2021 16:34:02 +0000 (12:34 -0400)
Fixes: #7153
Change-Id: I613d3179781344923add904cbdca87aff89eee83

doc/build/changelog/unreleased_14/7153.rst [new file with mode: 0644]

diff --git a/doc/build/changelog/unreleased_14/7153.rst b/doc/build/changelog/unreleased_14/7153.rst
new file mode 100644 (file)
index 0000000..762fb63
--- /dev/null
@@ -0,0 +1,25 @@
+.. change::
+    :tags: bug, sql
+    :tickets: 7153
+
+    Adjusted the "column disambiguation" logic that's new in 1.4, where the
+    same expression repeated gets an "extra anonymous" label, so that the logic
+    more aggressively deduplicates those labels when the repeated element
+    is the same Python expression object each time, as occurs in cases like
+    when using "singleton" values like :func:`_sql.null`.  This is based on
+    the observation that at least some databases (e.g. MySQL, but not SQLite)
+    will raise an error if the same label is repeated inside of a subquery.
+
+.. change::
+    :tags: bug, orm
+    :tickets: 7154
+
+    Related to :ticket:`7153`, fixed an issue where result column lookups would
+    fail for "adapted" SELECT statements that selected for "constant" value
+    expressions most typically the NULL expression, as would occur in such
+    places as joined eager loading in conjunction with limit/offset. This was
+    overall a regression due to issue :ticket:`6259` which removed all
+    "adaption" for constants like NULL, "true", and "false" when rewriting
+    expressions in a SQL statement, but this broke the case where the same
+    adaption logic were used to resolve the constant to a labeled expression
+    for the purposes of result set targeting.