diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-05 19:25:13 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-05 19:25:13 -0500 |
commit | 5c188f6c1ce85eaace27f052bfd1a14f74f6a659 (patch) | |
tree | 0f703326bc1ee1e73d2e175b0877ba07592eb27a /test/sql/test_query.py | |
parent | c5dccd82dabffa1b01d1e2852c96684b559528c2 (diff) | |
download | sqlalchemy-5c188f6c1ce85eaace27f052bfd1a14f74f6a659.tar.gz |
- More issues with [ticket:2932] first resolved in 0.9.2 where
using a column key of the form ``<tablename>_<columnname>``
matching that of an aliased column in the text would still not
match at the ORM level, which is ultimately due to a core
column-matching issue. Additional rules have been added so that the
column ``_label`` is taken into account when working with a
:class:`.TextAsFrom` construct or with literal columns.
[ticket:2932]
Diffstat (limited to 'test/sql/test_query.py')
-rw-r--r-- | test/sql/test_query.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 6e2227650..c20087859 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -1831,6 +1831,36 @@ class KeyTargetingTest(fixtures.TablesTest): assert stmt.c.a in row assert stmt.c.b in row + def test_columnclause_schema_column_four(self): + keyed2 = self.tables.keyed2 + + # this is also addressed by [ticket:2932] + + a, b = sql.column('keyed2_a'), sql.column('keyed2_b') + stmt = text("select a AS keyed2_a, b AS keyed2_b from keyed2").columns(a, b) + row = testing.db.execute(stmt).first() + + assert keyed2.c.a in row + assert keyed2.c.b in row + assert a in row + assert b in row + assert stmt.c.keyed2_a in row + assert stmt.c.keyed2_b in row + + def test_columnclause_schema_column_five(self): + keyed2 = self.tables.keyed2 + + # this is also addressed by [ticket:2932] + + stmt = text("select a AS keyed2_a, b AS keyed2_b from keyed2").columns( + keyed2_a=CHAR, keyed2_b=CHAR) + row = testing.db.execute(stmt).first() + + assert keyed2.c.a in row + assert keyed2.c.b in row + assert stmt.c.keyed2_a in row + assert stmt.c.keyed2_b in row + class LimitTest(fixtures.TestBase): |