From: Nathan Bird Date: Mon, 20 Jul 2009 20:18:12 +0000 (-0400) Subject: Guard against already converted values in read-sql-value X-Git-Url: http://git.kpe.io/?a=commitdiff_plain;h=b28024cab233e1816706f4017d74899ac8ce5e0a;hp=95c3d1b5fb4b3479c4d36f5560c55ba6f77654b7;p=clsql.git Guard against already converted values in read-sql-value Sometimes select has already done the conversion to native lisp format, we then don't need to do anything here, but was causing an error as read-from-string on a value that isn't a string isn't allowed. --- diff --git a/sql/oodml.lisp b/sql/oodml.lisp index 8eec40e..2a5b051 100644 --- a/sql/oodml.lisp +++ b/sql/oodml.lisp @@ -473,8 +473,12 @@ (format nil "~F" val))) (defmethod read-sql-value (val type database db-type) - (declare (ignore type database db-type)) - (read-from-string val)) + (declare (ignore database db-type)) + (cond + ((null type) val) ;;we have no desired type, just give the value + ((typep val type) val) ;;check that it hasn't already been converted. + ((typep val 'string) (read-from-string val)) ;;maybe read will just take care of it? + (T (error "Unable to read-sql-value ~a as type ~a" val type)))) (defmethod read-sql-value (val (type (eql 'string)) database db-type) (declare (ignore database db-type))