summaryrefslogtreecommitdiff
path: root/test/sql/test_utils.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2017-12-06 14:12:42 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2017-12-06 16:06:52 -0500
commit5e8396a60ed69341b1e73ac415c7cd6dceec0c8a (patch)
tree44032f3c7009db43c77b523db3eed4d3c6520752 /test/sql/test_utils.py
parent76b5981b41618048c4c593bbd9062c34ddc1fa36 (diff)
downloadsqlalchemy-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.py16
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),
+ []
+ )