projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed some bugs with sql-expression caching and made it possible to
[clsql.git]
/
db-odbc
/
odbc-api.lisp
diff --git
a/db-odbc/odbc-api.lisp
b/db-odbc/odbc-api.lisp
index 79b38f2668dc4994f035576bb259f486705de212..076a59f45628434cdcb107171a9262948951930a 100644
(file)
--- a/
db-odbc/odbc-api.lisp
+++ b/
db-odbc/odbc-api.lisp
@@
-673,9
+673,12
@@
as possible second argument) to the desired representation of date/time/timestam
(#.$SQL_SMALLINT (get-cast-short data-ptr)) ;; ??
(#.$SQL_INTEGER (get-cast-int data-ptr))
(#.$SQL_BIGINT (get-cast-big data-ptr))
(#.$SQL_SMALLINT (get-cast-short data-ptr)) ;; ??
(#.$SQL_INTEGER (get-cast-int data-ptr))
(#.$SQL_BIGINT (get-cast-big data-ptr))
- (#.$SQL_DECIMAL
- (let ((*read-base* 10))
- (read-from-string (get-cast-foreign-string data-ptr))))
+ ;; TODO: Change this to read in rationals instead of doubles
+ ((#.$SQL_DECIMAL #.$SQL_NUMERIC)
+ (let* ((*read-base* 10)
+ (*read-default-float-format* 'double-float)
+ (str (get-cast-foreign-string data-ptr)))
+ (read-from-string str)))
(#.$SQL_BIT (get-cast-byte data-ptr))
(t
(case c-type
(#.$SQL_BIT (get-cast-byte data-ptr))
(t
(case c-type