diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-01-02 04:06:57 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-01-02 04:06:57 +0000 |
commit | abf2895a7826cfcbe4d43daf0f607bf7cc975097 (patch) | |
tree | aabb93fdc832dcdd73addc11d8e328d982226783 | |
parent | a54a34f8f1accaa34df7ec14959fa9847e2b9309 (diff) | |
download | sqlalchemy-abf2895a7826cfcbe4d43daf0f607bf7cc975097.tar.gz |
changed mysql TIMESTAMP->DATETIME
fixed up date unit test
RowProxy __iter__ properly routes columns through type processing
-rw-r--r-- | lib/sqlalchemy/databases/mysql.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/databases/sqlite.py | 3 | ||||
-rw-r--r-- | lib/sqlalchemy/engine.py | 3 | ||||
-rw-r--r-- | test/query.py | 14 |
4 files changed, 18 insertions, 4 deletions
diff --git a/lib/sqlalchemy/databases/mysql.py b/lib/sqlalchemy/databases/mysql.py index 4e43f3673..21dbc2c17 100644 --- a/lib/sqlalchemy/databases/mysql.py +++ b/lib/sqlalchemy/databases/mysql.py @@ -30,7 +30,7 @@ class MSInteger(sqltypes.Integer): return "INTEGER" class MSDateTime(sqltypes.DateTime): def get_col_spec(self): - return "TIMESTAMP" + return "DATETIME" class MSText(sqltypes.TEXT): def get_col_spec(self): return "TEXT" diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py index 5a143a201..5708247e2 100644 --- a/lib/sqlalchemy/databases/sqlite.py +++ b/lib/sqlalchemy/databases/sqlite.py @@ -30,8 +30,11 @@ class SLDateTime(sqltypes.DateTime): def get_col_spec(self): return "TIMESTAMP" def convert_result_value(self, value): + print "RESULT", value if value is None: + print "RETNONE" return None + print "HI" parts = value.split('.') try: (value, microsecond) = value.split('.') diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index 07574a260..580d85450 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -670,7 +670,8 @@ class RowProxy: self.parent = parent self.row = row def __iter__(self): - return iter(self.row) + for i in range(0, len(self.row)): + yield self.parent._get_col(self.row, i) def __eq__(self, other): return (other is self) or (other == tuple([self.parent._get_col(self.row, key) for key in range(0, len(self.row))])) def __repr__(self): diff --git a/test/query.py b/test/query.py index e3d1767b5..945893844 100644 --- a/test/query.py +++ b/test/query.py @@ -54,8 +54,18 @@ class QueryTest(PersistTest): users_with_date.insert().execute(user_id = 8, user_name = 'roy', user_date=datetime.datetime(2005,11,10, 11,52,35)) users_with_date.insert().execute(user_id = 9, user_name = 'foo', user_date=datetime.datetime(2005,11,10, 11,52,35, 54839)) users_with_date.insert().execute(user_id = 10, user_name = 'colber', user_date=None) - print repr(users_with_date.select().execute().fetchall()) - users_with_date.drop() + l = users_with_date.select().execute().fetchall() + l = [[c for c in r] for r in l] + if db.engine.__module__.endswith('mysql'): + x = [[7, 'jack', datetime.datetime(2005, 11, 10, 0, 0)], [8, 'roy', datetime.datetime(2005, 11, 10, 11, 52, 35)], [9, 'foo', datetime.datetime(2005, 11, 10, 11, 52, 35)], [10, 'colber', None]] + else: + x = [[7, 'jack', datetime.datetime(2005, 11, 10, 0, 0)], [8, 'roy', datetime.datetime(2005, 11, 10, 11, 52, 35)], [9, 'foo', datetime.datetime(2005, 11, 10, 11, 52, 35, 54839)], [10, 'colber', None]] + print repr(l) + print repr(x) + try: + self.assert_(l == x) + finally: + users_with_date.drop() def testdefaults(self): x = {'x':0} |