summaryrefslogtreecommitdiff
path: root/test/sql/test_utils.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-04-09 11:15:03 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2020-04-09 12:55:23 -0400
commit0aa38a973778114b9b63c74f89a47adcb1cbab82 (patch)
tree14475000b447b435cf8b813965f62df61245da15 /test/sql/test_utils.py
parentae26007d52caab1575a9aef4fecb90785f7e118d (diff)
downloadsqlalchemy-0aa38a973778114b9b63c74f89a47adcb1cbab82.tar.gz
Repair find tables
The recipe given out on the ML for improving ABC fails in 1.4 due to find_tables() missing out on subqueries, which is due to the refactor of Alias into multiple sub-types. Change-Id: Idd2803b26a84b28db28e0b8c328b8f24550577e4
Diffstat (limited to 'test/sql/test_utils.py')
-rw-r--r--test/sql/test_utils.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/sql/test_utils.py b/test/sql/test_utils.py
index 1ccd1e123..a63e55c4e 100644
--- a/test/sql/test_utils.py
+++ b/test/sql/test_utils.py
@@ -30,3 +30,21 @@ class MiscTest(fixtures.TestBase):
subset_select = select([common.c.id, common.c.data]).alias()
eq_(sql_util.find_tables(subset_select), [common])
+
+ def test_find_tables_aliases(self):
+ metadata = MetaData()
+ common = Table(
+ "common",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column("data", Integer),
+ Column("extra", String(45)),
+ )
+
+ calias = common.alias()
+ subset_select = select([common.c.id, calias.c.data]).subquery()
+
+ eq_(
+ set(sql_util.find_tables(subset_select, include_aliases=True)),
+ {common, calias, subset_select},
+ )