summaryrefslogtreecommitdiff
path: root/test/sql/test_query.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-02-05 19:25:13 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-02-05 19:25:13 -0500
commit5c188f6c1ce85eaace27f052bfd1a14f74f6a659 (patch)
tree0f703326bc1ee1e73d2e175b0877ba07592eb27a /test/sql/test_query.py
parentc5dccd82dabffa1b01d1e2852c96684b559528c2 (diff)
downloadsqlalchemy-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.py30
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):