summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-09-19 22:59:28 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-09-19 22:59:28 +0000
commit8d2fd5f87aaf837042d2dc5e692f84deb7dd1710 (patch)
tree75b308c71a3a4d2d0b0b63cf964b3c3ebbd4dfae /test/sql
parente395c05b9ac6ec5da8329c29c3b8939e3d642e2c (diff)
downloadsqlalchemy-8d2fd5f87aaf837042d2dc5e692f84deb7dd1710.tar.gz
- Overhauled SQLite date/time bind/result processing
to use regular expressions and format strings, rather than strptime/strftime, to generically support pre-1900 dates, dates with microseconds. [ticket:968]
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/testtypes.py40
1 files changed, 25 insertions, 15 deletions
diff --git a/test/sql/testtypes.py b/test/sql/testtypes.py
index 8642c4fa3..2ed8f37d7 100644
--- a/test/sql/testtypes.py
+++ b/test/sql/testtypes.py
@@ -521,19 +521,19 @@ class DateTest(TestBase, AssertsExecutionResults):
if testing.against('oracle'):
import sqlalchemy.databases.oracle as oracle
insert_data = [
- [7, 'jack',
+ (7, 'jack',
datetime.datetime(2005, 11, 10, 0, 0),
datetime.date(2005,11,10),
- datetime.datetime(2005, 11, 10, 0, 0, 0, 29384)],
- [8, 'roy',
+ datetime.datetime(2005, 11, 10, 0, 0, 0, 29384)),
+ (8, 'roy',
datetime.datetime(2005, 11, 10, 11, 52, 35),
datetime.date(2005,10,10),
- datetime.datetime(2006, 5, 10, 15, 32, 47, 6754)],
- [9, 'foo',
+ datetime.datetime(2006, 5, 10, 15, 32, 47, 6754)),
+ (9, 'foo',
datetime.datetime(2006, 11, 10, 11, 52, 35),
datetime.date(1970,4,1),
- datetime.datetime(2004, 9, 18, 4, 0, 52, 1043)],
- [10, 'colber', None, None, None]
+ datetime.datetime(2004, 9, 18, 4, 0, 52, 1043)),
+ (10, 'colber', None, None, None),
]
fnames = ['user_id', 'user_name', 'user_datetime',
'user_date', 'user_time']
@@ -555,20 +555,22 @@ class DateTest(TestBase, AssertsExecutionResults):
time_micro = 0
insert_data = [
- [7, 'jack',
+ (7, 'jack',
datetime.datetime(2005, 11, 10, 0, 0),
datetime.date(2005, 11, 10),
- datetime.time(12, 20, 2)],
- [8, 'roy',
+ datetime.time(12, 20, 2)),
+ (8, 'roy',
datetime.datetime(2005, 11, 10, 11, 52, 35),
datetime.date(2005, 10, 10),
- datetime.time(0, 0, 0)],
- [9, 'foo',
+ datetime.time(0, 0, 0)),
+ (9, 'foo',
datetime.datetime(2005, 11, 10, 11, 52, 35, datetime_micro),
datetime.date(1970, 4, 1),
- datetime.time(23, 59, 59, time_micro)],
- [10, 'colber', None, None, None]
+ datetime.time(23, 59, 59, time_micro)),
+ (10, 'colber', None, None, None),
]
+
+
fnames = ['user_id', 'user_name', 'user_datetime',
'user_date', 'user_time']
@@ -578,6 +580,14 @@ class DateTest(TestBase, AssertsExecutionResults):
Column('user_date', Date),
Column('user_time', Time)]
+ if testing.against('sqlite', 'postgres'):
+ insert_data.append(
+ (11, 'historic',
+ datetime.datetime(1850, 11, 10, 11, 52, 35, datetime_micro),
+ datetime.date(1727,4,1),
+ None),
+ )
+
users_with_date = Table('query_users_with_date',
MetaData(testing.db), *collist)
users_with_date.create()
@@ -592,7 +602,7 @@ class DateTest(TestBase, AssertsExecutionResults):
def testdate(self):
global insert_data
- l = map(list, users_with_date.select().execute().fetchall())
+ l = map(tuple, users_with_date.select().execute().fetchall())
self.assert_(l == insert_data,
'DateTest mismatch: got:%s expected:%s' % (l, insert_data))