From: Mike Bayer Date: Tue, 16 Jan 2007 23:23:19 +0000 (+0000) Subject: added testcase to ensure that type gets propigated from scalar subquery to its label X-Git-Tag: rel_0_3_4~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35fcfbc083475d6d010dc8f69c759b7147c02a6d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git added testcase to ensure that type gets propigated from scalar subquery to its label --- 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')