]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Include UPDATE/DELETE extra_froms in correlation
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 4 Aug 2018 17:45:07 +0000 (13:45 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 4 Aug 2018 17:46:19 +0000 (13:46 -0400)
commitabeea1d82db34232bbef01e98fa4d1de0f583eb6
treefa5fa3576e8248975bbbd47c3fc21e31822529e9
parente9e869f4d557a2a4e9a57f74862b4db7493b657e
Include UPDATE/DELETE extra_froms in correlation

Fixed bug where the multi-table support for UPDATE and DELETE statements
did not consider the additional FROM elements as targets for correlation,
when a correlated SELECT were also combined with the statement.  This
change now includes that a SELECT statement in the WHERE clause for such a
statement will try to auto-correlate back to these additional tables in the
parent UPDATE/DELETE or unconditionally correlate if
:meth:`.Select.correlate` is used.  Note that auto-correlation raises an
error if the SELECT statement would have no FROM clauses as a result, which
can now occur if the parent UPDATE/DELETE specifies the same tables in its
additional set of tables ; specify :meth:`.Select.correlate` explicitly to
resolve.

Change-Id: Ie11eaad7e49af3f59df11691b104d6359341bdae
Fixes: #4313
doc/build/changelog/unreleased_12/4313.rst [new file with mode: 0644]
lib/sqlalchemy/sql/compiler.py
test/sql/test_delete.py
test/sql/test_update.py