X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-sqlite%2Fsqlite-sql.lisp;h=6d7bbfa63f612627ea55e2b399e1a29ce379eb4d;hb=5257515973703e60f7ad3eca63c9a1ea0409cdd1;hp=d07be2a5f13e3814c22694d23d003ebf3476003d;hpb=7cdc9aa48baa3c52923d61da6fa632eb47ac0b5d;p=clsql.git diff --git a/db-sqlite/sqlite-sql.lisp b/db-sqlite/sqlite-sql.lisp index d07be2a..6d7bbfa 100644 --- a/db-sqlite/sqlite-sql.lisp +++ b/db-sqlite/sqlite-sql.lisp @@ -150,7 +150,7 @@ collect (case type ((:int :integer :tinyint :long :bigint) - :integer) + :int32) ((:float :double) :double) ((:numeric) @@ -195,6 +195,13 @@ (loop for i = 0 then (1+ i) for rest on list do (setf (car rest) + #-clisp + (clsql-uffi:convert-raw-field + (uffi:deref-array + (uffi:deref-pointer row 'sqlite:sqlite-row-pointer) '(:array (* :unsigned-char)) i) + result-types + i) + #+clisp (let ((type (if result-types (nth i result-types) :string)) @@ -209,7 +216,7 @@ (:double (when val (coerce - (read-from-string (sqlite:sqlite-aref row i)) + (read-from-string val) 'double-float))))))) (sqlite:sqlite-free-row row) t))))