diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-01-08 21:53:37 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-01-08 21:53:37 +0000 |
| commit | 6eb9c11e7b0b99d7bc76633fbfebf6e280ae9994 (patch) | |
| tree | 045a1900667782417386dfe0c4ef7f25f7fbda50 | |
| parent | 93d6f1d58ad3aa9d4da61178553ea0e914426cd1 (diff) | |
| download | sqlalchemy-6eb9c11e7b0b99d7bc76633fbfebf6e280ae9994.tar.gz | |
- fixed bug in union() so that select() statements which don't derive
from FromClause objects can be unioned
| -rw-r--r-- | CHANGES | 3 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/expression.py | 3 | ||||
| -rw-r--r-- | test/sql/select.py | 9 |
3 files changed, 14 insertions, 1 deletions
@@ -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 3dc7242d7..b2eaa4221 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 0df575c7c..ae49659f7 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( |
