From 7bb4923391f98db517dde59d813322a948d10bfe Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 16 Mar 2017 17:28:41 -0400 Subject: Use consistent method signature for Alias.self_group() Fixed bug where the use of an :class:`.Alias` object in a column context would raise an argument error when it tried to group itself into a parenthesized expression. Using :class:`.Alias` in this way is not yet a fully supported API, however it applies to some end-user recipes and may have a more prominent role in support of some future Postgresql features. Change-Id: I81717e30416e0350f08d1e022c3d84656e0a9735 Fixes: #3939 --- test/sql/test_selectable.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test') diff --git a/test/sql/test_selectable.py b/test/sql/test_selectable.py index d38ee0e8a..0cbaf33ea 100644 --- a/test/sql/test_selectable.py +++ b/test/sql/test_selectable.py @@ -333,6 +333,20 @@ class SelectableTest( criterion = a.c.col1 == table2.c.col2 self.assert_(criterion.compare(j.onclause)) + def test_alias_handles_column_context(self): + # not quite a use case yet but this is expected to become + # prominent w/ Postgresql's tuple functions + + stmt = select([table1.c.col1, table1.c.col2]) + a = stmt.alias('a') + self.assert_compile( + select([func.foo(a)]), + "SELECT foo(SELECT table1.col1, table1.col2 FROM table1) " + "AS foo_1 FROM " + "(SELECT table1.col1 AS col1, table1.col2 AS col2 FROM table1) " + "AS a" + ) + def test_union(self): # tests that we can correspond a column in a Select statement -- cgit v1.2.1