diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-02-27 00:44:26 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-02-27 00:44:26 +0000 |
| commit | 46fa536ba4c2542bcac41346bb113a08ebcf342c (patch) | |
| tree | 051cca9668a5d1a65c81129399fd7faffde8d2c4 /test/sql/test_query.py | |
| parent | 64988b45656c8fcdf384b3ad3b6303eaff521dc1 (diff) | |
| download | sqlalchemy-46fa536ba4c2542bcac41346bb113a08ebcf342c.tar.gz | |
- threadlocal engine wasn't properly closing the connection
upon close() - fixed that.
- Transaction object doesn't rollback or commit if it isn't
"active", allows more accurate nesting of begin/rollback/commit.
- Added basic support for mxODBC [ticket:1710].
- Python unicode objects as binds result in the Unicode type,
not string, thus eliminating a certain class of unicode errors
on drivers that don't support unicode binds.
Diffstat (limited to 'test/sql/test_query.py')
| -rw-r--r-- | test/sql/test_query.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 5433cb92f..d7bca1af4 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -536,7 +536,18 @@ class QueryTest(TestBase): use_labels=labels, order_by=[users.c.user_id.desc()]), [(3,), (2,), (1,)]) + + @testing.fails_on("+pyodbc", "pyodbc row doesn't seem to accept slices") + def test_column_slices(self): + users.insert().execute(user_id=1, user_name='john') + users.insert().execute(user_id=2, user_name='jack') + addresses.insert().execute(address_id=1, user_id=2, address='foo@bar.com') + r = text("select * from query_addresses", bind=testing.db).execute().first() + self.assert_(r[0:1] == (1,)) + self.assert_(r[1:] == (2, 'foo@bar.com')) + self.assert_(r[:-1] == (1, 2)) + def test_column_accessor(self): users.insert().execute(user_id=1, user_name='john') users.insert().execute(user_id=2, user_name='jack') @@ -550,15 +561,11 @@ class QueryTest(TestBase): self.assert_(r.user_id == r['user_id'] == r[users.c.user_id] == 2) self.assert_(r.user_name == r['user_name'] == r[users.c.user_name] == 'jack') - # test slices - r = text("select * from query_addresses", bind=testing.db).execute().first() - self.assert_(r[0:1] == (1,)) - self.assert_(r[1:] == (2, 'foo@bar.com')) - self.assert_(r[:-1] == (1, 2)) - - # test a little sqlite weirdness - with the UNION, cols come back as "query_users.user_id" in cursor.description + # test a little sqlite weirdness - with the UNION, + # cols come back as "query_users.user_id" in cursor.description r = text("select query_users.user_id, query_users.user_name from query_users " - "UNION select query_users.user_id, query_users.user_name from query_users", bind=testing.db).execute().first() + "UNION select query_users.user_id, query_users.user_name from query_users", + bind=testing.db).execute().first() self.assert_(r['user_id']) == 1 self.assert_(r['user_name']) == "john" |
