]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
some fixes to sqlite datetime organization, was improperly reflecting
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 12 Aug 2006 20:12:18 +0000 (20:12 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 12 Aug 2006 20:12:18 +0000 (20:12 +0000)
the "date" type as a "datetime"

CHANGES
lib/sqlalchemy/databases/sqlite.py
lib/sqlalchemy/ext/sqlsoup.py

diff --git a/CHANGES b/CHANGES
index 43778d4d78737411a71161cc247cd336f963594e..c5c2e81fa58f646858e3d410f2ad1ac0423f094f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -45,6 +45,7 @@ max, min, etc.) on a SelectResults that has an ORDER BY clause
 - fixes to types so that database-specific types more easily used;
 fixes to mysql text types to work with this methodology
 [ticket:269] 
+- some fixes to sqlite date type organization
 
 0.2.6
 - big overhaul to schema to allow truly composite primary and foreign
index 1727dce94bf364aef6fb698279f7338c37cbf92c..e3bc0b9c9833796af4dadd3f0f02e11c5355c4e2 100644 (file)
@@ -31,9 +31,7 @@ class SLInteger(sqltypes.Integer):
 class SLSmallInteger(sqltypes.Smallinteger):
     def get_col_spec(self):
         return "SMALLINT"
-class SLDateTime(sqltypes.DateTime):
-    def get_col_spec(self):
-        return "TIMESTAMP"
+class DateTimeMixin(object):
     def convert_bind_param(self, value, dialect):
         if value is not None:
             return str(value)
@@ -49,16 +47,20 @@ class SLDateTime(sqltypes.DateTime):
         except ValueError:
             (value, microsecond) = (value, 0)
         return time.strptime(value, fmt)[0:6] + (microsecond,)
+    
+class SLDateTime(sqltypes.DateTime, DateTimeMixin):
+    def get_col_spec(self):
+        return "TIMESTAMP"
     def convert_result_value(self, value, dialect):
         tup = self._cvt(value, dialect, "%Y-%m-%d %H:%M:%S")
         return tup and datetime.datetime(*tup)
-class SLDate(SLDateTime):
+class SLDate(sqltypes.Date, DateTimeMixin):
     def get_col_spec(self):
         return "DATE"
     def convert_result_value(self, value, dialect):
         tup = self._cvt(value, dialect, "%Y-%m-%d")
         return tup and datetime.date(*tup[0:3])
-class SLTime(SLDateTime):
+class SLTime(sqltypes.Time, DateTimeMixin):
     def get_col_spec(self):
         return "TIME"
     def convert_result_value(self, value, dialect):
index 2f41b13bdeba36a3e11034746dfd1a390b808051..a0c8bd3510854c79883ca0dadcaa2f8d4f3ab3fe 100644 (file)
@@ -181,7 +181,7 @@ CREATE TABLE loans (
     book_id              int PRIMARY KEY REFERENCES books(id),
     user_name            varchar(32) references users(name) 
         ON DELETE SET NULL ON UPDATE CASCADE,
-    loan_date            date DEFAULT current_timestamp
+    loan_date            datetime DEFAULT current_timestamp
 );
 
 insert into users(name, email, password, admin)