]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- union(), intersect(), except() and other "compound" types
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 25 Jan 2010 00:35:28 +0000 (00:35 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 25 Jan 2010 00:35:28 +0000 (00:35 +0000)
commit67e7f45c59016fe15f055be4fb1e2abdecf0cec8
tree516931641aea6ae3117f1e5d29f884eafa668709
parentc0835ffdc26e8abe7061ce41f6410e613052469f
- union(), intersect(), except() and other "compound" types
of statements have more consistent behavior w.r.t.
parenthesizing.   Each compound element embedded within
another will now be grouped with parenthesis - previously,
the first compound element in the list would not be grouped,
as SQLite doesn't like a statement to start with
parenthesis.   However, Postgresql in particular has
precedence rules regarding INTERSECT, and it is
more consistent for parenthesis to be applied equally
to all sub-elements.   So now, the workaround for SQLite
is also what the workaround for PG was previously -
when nesting compound elements, the first one usually needs
".alias().select()" called on it to wrap it inside
of a subquery.  [ticket:1665]
CHANGES
doc/build/sqlexpression.rst
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/sql/expression.py
test/sql/test_query.py
test/sql/test_select.py