commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r7696 - in trunk/gnue-common: doc/technotes src/datasources/drive


From: johannes
Subject: [gnue] r7696 - in trunk/gnue-common: doc/technotes src/datasources/drivers/sql/interbase
Date: Thu, 7 Jul 2005 06:50:31 -0500 (CDT)

Author: johannes
Date: 2005-07-07 06:50:29 -0500 (Thu, 07 Jul 2005)
New Revision: 7696

Modified:
   trunk/gnue-common/doc/technotes/00016.txt
   trunk/gnue-common/src/datasources/drivers/sql/interbase/kinterbasdbdrv.py
Log:
Kinterbasdb uses python2.3+ datetime types for date and time fields


Modified: trunk/gnue-common/doc/technotes/00016.txt
===================================================================
--- trunk/gnue-common/doc/technotes/00016.txt   2005-07-07 11:46:55 UTC (rev 
7695)
+++ trunk/gnue-common/doc/technotes/00016.txt   2005-07-07 11:50:29 UTC (rev 
7696)
@@ -136,9 +136,9 @@
 
 Column      Datatype             F-Read    F-Write
 ------------------------------------------------------------------------------
-date        mx.DateTime                    
-time        mx.DateTimeDelta     No        0000
-datetime    mx.DateTime          No        0000
+date        datetime.date                  
+time        datetime.time        No        0000
+datetime    datetime.datetime    No        0000
 boolean     int
 
 

Modified: 
trunk/gnue-common/src/datasources/drivers/sql/interbase/kinterbasdbdrv.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/sql/interbase/kinterbasdbdrv.py   
2005-07-07 11:46:55 UTC (rev 7695)
+++ trunk/gnue-common/src/datasources/drivers/sql/interbase/kinterbasdbdrv.py   
2005-07-07 11:50:29 UTC (rev 7696)
@@ -125,6 +125,36 @@
 
 
   # ---------------------------------------------------------------------------
+  # Connect to the backend and establish type conversions
+  # ---------------------------------------------------------------------------
+
+  def _connect_ (self, connectData):
+
+    DBSIG2.Connection._connect_ (self, connectData)
+
+    # We could do a kinterbasdb.init (100) in __initplugin__ () instead, but
+    # then there is another dependency to a FixedPoint module which is not
+    # included in the kinterbasdb package
+    import kinterbasdb.typeconv_datetime_stdlib as tc_dt
+
+    # Install type conversions
+    self._native.set_type_trans_in({
+                'DATE':      tc_dt.date_conv_in,
+                'TIME':      tc_dt.time_conv_in,
+                'TIMESTAMP': tc_dt.timestamp_conv_in})
+
+    self._native.set_type_trans_out({
+                'DATE':      tc_dt.date_conv_out,
+                'TIME':      tc_dt.time_conv_out,
+                'TIMESTAMP': tc_dt.timestamp_conv_out})
+
+    # Map the constructors and singeltons
+    for i in ['Date', 'Time', 'Timestamp', 'DateFromTicks', 'TimeFromTicks',
+              'TimestampFromTicks']:
+      setattr (self._driver, i, getattr (tc_dt, i))
+
+
+  # ---------------------------------------------------------------------------
   # Get connection parameters
   # ---------------------------------------------------------------------------
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]