r9336: 12 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
[clsql.git] / db-odbc / odbc-sql.lisp
index b43a3226a6168d628d1faf43a5752eaa25ad17d1..656e8f43c13a0388d2d9697f76462cfc8bb08359 100644 (file)
@@ -17,7 +17,7 @@
 ;;;; *************************************************************************
 
 (defpackage #:clsql-odbc
-    (:use #:common-lisp #:clsql-base-sys)
+    (:use #:common-lisp #:clsql-sys)
     (:export #:odbc-database)
     (:documentation "This is the CLSQL interface to ODBC."))
 
     ;; NULLABLE is the eleventh column
     (loop for row in rows
        when (string-equal attribute (fourth row))
-       do (return (values (ensure-keyword (sixth row))
-                          (parse-integer (seventh row) :junk-allowed t)
-                          (parse-integer (ninth row) :junk-allowed t)
-                          (parse-integer (nth 10 row) :junk-allowed t))))))
+       do
+       (let ((size (seventh row))
+             (precision (ninth row))
+             (scale (nth 10 row)))
+         (return (values (ensure-keyword (sixth row))
+                         (when size (parse-integer size))
+                         (when precision (parse-integer precision))
+                         (when scale (parse-integer scale))))))))
 
 (defmethod database-set-sequence-position (sequence-name
                                            (position integer)
   ;; nothing to do
   t)
 
-(when (clsql-base-sys:database-type-library-loaded :odbc)
-  (clsql-base-sys:initialize-database-type :database-type :odbc))
+(when (clsql-sys:database-type-library-loaded :odbc)
+  (clsql-sys:initialize-database-type :database-type :odbc))