r9214: Fix ATTRIBUTE-TYPE so that
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 3 May 2004 20:45:22 +0000 (20:45 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 3 May 2004 20:45:22 +0000 (20:45 +0000)
        it can handle NIL values from the ODBC driver

ChangeLog
db-odbc/odbc-sql.lisp

index c25285614315548ea9a57c6b47ac6b52301fa4db..3b05dd4a6bb1f23191712fc70a181f208d460416 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,9 @@
 3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * db-odbc/odbc-api.lisp: Fix changing nil to "NIL" 
        for odbc/postgresql backend.
-
+       * db-odbc/odbc-sql.lisp: Fix ATTRIBUTE-TYPE so that
+       it can handle NIL values from the ODBC driver
+       
 3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.10.8        
        * base/conditions.lisp: Add *backend-warning-behavior*
index 2769bf91b3c6b6881b6bf4bc77d16feb6b8b68fd..70e14787c387bc09e0842371b420dc35dd73cf4e 100644 (file)
     ;; 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)