X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-sqlite%2Fsqlite-sql.lisp;h=befc8850e497b850a7a579923b9f679ac480034a;hb=7a01154e40dd4516ece2ebe2267a11dec1f9a18f;hp=d07be2a5f13e3814c22694d23d003ebf3476003d;hpb=7cdc9aa48baa3c52923d61da6fa632eb47ac0b5d;p=clsql.git diff --git a/db-sqlite/sqlite-sql.lisp b/db-sqlite/sqlite-sql.lisp index d07be2a..befc885 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 (* :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))))