From 35fcfbc083475d6d010dc8f69c759b7147c02a6d Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 16 Jan 2007 23:23:19 +0000 Subject: [PATCH] added testcase to ensure that type gets propigated from scalar subquery to its label --- test/sql/query.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/test/sql/query.py b/test/sql/query.py index a19b8cf25f..ac62eb8e92 100644 --- a/test/sql/query.py +++ b/test/sql/query.py @@ -17,7 +17,7 @@ class QueryTest(PersistTest): Column('user_id', INT, primary_key = True), Column('user_name', VARCHAR(20)), ) - users.create() + metadata.create_all() def setUp(self): self.users = users @@ -25,8 +25,7 @@ class QueryTest(PersistTest): self.users.delete().execute() def tearDownAll(self): - global users - users.drop() + metadata.drop_all() def testinsert(self): self.users.insert().execute(user_id = 7, user_name = 'jack') @@ -160,7 +159,20 @@ class QueryTest(PersistTest): r = self.users.select(offset=5, order_by=[self.users.c.user_id]).execute().fetchall() self.assert_(r==[(6, 'ralph'), (7, 'fido')]) - + def test_scalar_select(self): + datetable = Table('datetable', metadata, + Column('id', Integer, primary_key=True), + Column('today', DateTime)) + datetable.create() + try: + datetable.insert().execute(id=1, today=datetime.datetime(2006, 5, 12, 12, 0, 0)) + s = select([datetable.alias('x').c.today], scalar=True) + s2 = select([datetable.c.id, s.label('somelabel')]) + #print s2.c.somelabel.type + assert isinstance(s2.execute().fetchone()['somelabel'], datetime.datetime) + finally: + datetable.drop() + def test_column_accessor(self): self.users.insert().execute(user_id=1, user_name='john') self.users.insert().execute(user_id=2, user_name='jack') -- 2.47.2