from sqlalchemy import * from sqlalchemy.test import * NUM_FIELDS = 10 NUM_RECORDS = 1000 class ResultSetTest(TestBase, AssertsExecutionResults): __only_on__ = 'sqlite' @classmethod def setup_class(cls): global t, t2, metadata metadata = MetaData(testing.db) t = Table('table', metadata, *[Column('field%d' % fnum, String) for fnum in range(NUM_FIELDS)]) t2 = Table('table2', metadata, *[Column('field%d' % fnum, Unicode) for fnum in range(NUM_FIELDS)]) def setup(self): metadata.create_all() t.insert().execute([dict(('field%d' % fnum, u'value%d' % fnum) for fnum in range(NUM_FIELDS)) for r_num in range(NUM_RECORDS)]) t2.insert().execute([dict(('field%d' % fnum, u'value%d' % fnum) for fnum in range(NUM_FIELDS)) for r_num in range(NUM_RECORDS)]) def teardown(self): metadata.drop_all() @profiling.function_call_count(14416, versions={'2.4': 13214, '2.6+cextension': 409}) def test_string(self): [tuple(row) for row in t.select().execute().fetchall()] # sqlite3 returns native unicode. so shouldn't be an increase here. @profiling.function_call_count(14396, versions={'2.4': 13214, '2.6+cextension': 409}) def test_unicode(self): [tuple(row) for row in t2.select().execute().fetchall()]