diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-12-06 14:12:42 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-12-06 16:06:52 -0500 |
| commit | 5e8396a60ed69341b1e73ac415c7cd6dceec0c8a (patch) | |
| tree | 44032f3c7009db43c77b523db3eed4d3c6520752 /test/sql/test_utils.py | |
| parent | 76b5981b41618048c4c593bbd9062c34ddc1fa36 (diff) | |
| download | sqlalchemy-5e8396a60ed69341b1e73ac415c7cd6dceec0c8a.tar.gz | |
Change visit name for ColumnElement
No SQLA built-in subclasses ColumnElement without specifying
an alternate visit_name, and user defined ColumnElement
subclasses should avoid being treated like ColumnClause,
e.g. where a Table is present.
Fixes: #4142
Change-Id: I15ed09ba8bdebae4cb0c7e5e5df3f59351477577
Diffstat (limited to 'test/sql/test_utils.py')
| -rw-r--r-- | test/sql/test_utils.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/test/sql/test_utils.py b/test/sql/test_utils.py index 84e7ad732..bd8368cd2 100644 --- a/test/sql/test_utils.py +++ b/test/sql/test_utils.py @@ -1,8 +1,9 @@ -from sqlalchemy.testing import fixtures, is_true, is_false +from sqlalchemy.testing import fixtures, is_true, is_false, eq_ from sqlalchemy import MetaData, Table, Column, Integer, String from sqlalchemy import and_, or_, bindparam -from sqlalchemy.sql.elements import ClauseList +from sqlalchemy.sql.elements import ClauseList, ColumnElement from sqlalchemy.sql import operators +from sqlalchemy.sql import util as sql_util class CompareClausesTest(fixtures.TestBase): @@ -106,3 +107,14 @@ class CompareClausesTest(fixtures.TestBase): is_false(b1.compare(b8)) is_false(b8.compare(b9)) is_true(b8.compare(b8)) + + +class MiscTest(fixtures.TestBase): + def test_column_element_no_visit(self): + class MyElement(ColumnElement): + pass + + eq_( + sql_util.find_tables(MyElement(), check_columns=True), + [] + ) |
