From: Kevin M. Rosenberg Date: Mon, 3 May 2004 20:45:22 +0000 (+0000) Subject: r9214: Fix ATTRIBUTE-TYPE so that X-Git-Tag: v3.8.6~541 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=bd3966e77e9c4e29d575b12d0e6aa78e5848da69 r9214: Fix ATTRIBUTE-TYPE so that it can handle NIL values from the ODBC driver --- diff --git a/ChangeLog b/ChangeLog index c252856..3b05dd4 100644 --- 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* diff --git a/db-odbc/odbc-sql.lisp b/db-odbc/odbc-sql.lisp index 2769bf9..70e1478 100644 --- a/db-odbc/odbc-sql.lisp +++ b/db-odbc/odbc-sql.lisp @@ -256,10 +256,14 @@ ;; 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)