From: Mike Bayer Date: Tue, 8 Jan 2008 21:53:37 +0000 (+0000) Subject: - fixed bug in union() so that select() statements which don't derive X-Git-Tag: rel_0_4_2p3~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6eb9c11e7b0b99d7bc76633fbfebf6e280ae9994;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - fixed bug in union() so that select() statements which don't derive from FromClause objects can be unioned --- diff --git a/CHANGES b/CHANGES index 6b0bffc34a..d90bbe6072 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,9 @@ CHANGES - Text type is properly exported now and does not raise a warning on DDL create + - fixed bug in union() so that select() statements which don't derive + from FromClause objects can be unioned + - dialects - Fixed reflection of mysql empty string column defaults. diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 3dc7242d7a..b2eaa4221d 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -2898,7 +2898,8 @@ class CompoundSelect(_SelectBaseMixin, FromClause): _SelectBaseMixin.__init__(self, **kwargs) for s in self.selects: - self.oid_column = self._proxy_column(s.oid_column) + if s.oid_column: + self.oid_column = self._proxy_column(s.oid_column) def self_group(self, against=None): diff --git a/test/sql/select.py b/test/sql/select.py index 0df575c7c0..ae49659f7f 100644 --- a/test/sql/select.py +++ b/test/sql/select.py @@ -888,6 +888,15 @@ WHERE mytable.name = :mytable_name_1 GROUP BY mytable.myid, mytable.name UNION S FROM mytable WHERE mytable.name = :mytable_name_2" ) + self.assert_compile( + union( + select([literal(100).label('value')]), + select([literal(200).label('value')]) + ), + "SELECT :param_1 AS value UNION SELECT :param_2 AS value" + ) + + def test_compound_select_grouping(self): self.assert_compile( union_all(