diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-06-16 09:58:03 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-06-16 09:58:03 -0400 |
commit | 3a314fcea8539133947d5ec8e42a6c86e30fdf9a (patch) | |
tree | d4c7b8502ea836d4f6ecac34216fdfbf48bf0e7a /test/sql/test_generative.py | |
parent | 7af05fcc9387cea4172cc35eb6a198776488f90d (diff) | |
download | sqlalchemy-3a314fcea8539133947d5ec8e42a6c86e30fdf9a.tar.gz |
Repair WithinGroup.get_children()
Fixed AttributeError which would occur in :class:`.WithinGroup`
construct during an iteration of the structure.
Change-Id: I563882d93c8c32292463a605b636aa60c77e9406
Fixes: #4012
Diffstat (limited to 'test/sql/test_generative.py')
-rw-r--r-- | test/sql/test_generative.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/sql/test_generative.py b/test/sql/test_generative.py index 1a12a8b0e..9474560ff 100644 --- a/test/sql/test_generative.py +++ b/test/sql/test_generative.py @@ -8,6 +8,7 @@ from sqlalchemy.testing import fixtures, AssertsExecutionResults, \ from sqlalchemy import testing from sqlalchemy.sql.visitors import ClauseVisitor, CloningVisitor, \ cloned_traverse, ReplacingCloningVisitor +from sqlalchemy.sql import visitors from sqlalchemy import exc from sqlalchemy.sql import util as sql_util from sqlalchemy.testing import (eq_, @@ -594,6 +595,15 @@ class ClauseTest(fixtures.TestBase, AssertsCompiledSQL): expr2 = CloningVisitor().traverse(expr) assert str(expr) == str(expr2) + assert expr in visitors.iterate(expr, {}) + + def test_within_group(self): + expr = func.row_number().within_group(t1.c.col1) + expr2 = CloningVisitor().traverse(expr) + assert str(expr) == str(expr2) + + assert expr in visitors.iterate(expr, {}) + def test_funcfilter(self): expr = func.count(1).filter(t1.c.col1 > 1) expr2 = CloningVisitor().traverse(expr) |