In ODBC time conversion take into account the fraction if we have it.
authorNathan Bird <nathan@acceleration.net>
Tue, 2 Feb 2010 20:52:47 +0000 (15:52 -0500)
committerNathan Bird <nathan@acceleration.net>
Tue, 2 Feb 2010 20:55:28 +0000 (15:55 -0500)
db-odbc/odbc-api.lisp

index 50ef4432d3485df1f6792b2cb01041c8a4e39106..85f160a5bf4085bb9639421efb4c6b04cd01b7b8 100644 (file)
@@ -26,10 +26,11 @@ May be locally bound to something else if a certain type is necessary.")
 (defvar *binary-format* :unsigned-byte-vector)
 (defvar *time-conversion-function*
     (lambda (universal-time &optional fraction)
-      (declare (ignore fraction))
-      (clsql-sys:format-time
-       nil (clsql-sys:utime->time universal-time)
-       :format :iso)
+       (let ((time (clsql-sys:utime->time universal-time)))
+        (setf time (clsql-sys:time+
+                    time
+                    (clsql-sys:make-duration :usec (/ fraction 1000))))
+        (clsql-sys:format-time nil time :format :iso))
       #+ignore
       universal-time)
    "Bound to a function that converts from a Lisp universal time fixnum (and a fractional