X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fref.sgml;h=c1ba587421f5c3c9ee8eef4b32e0919cfe7d7e76;hb=8bc79bef3406576b8d147062bf527f34cd3baa2f;hp=77ea97ae23098f1ee802cc678dd2343e762fd664;hpb=378b802cff26b596f912aa05a2eb740c4f886d3d;p=clsql.git
diff --git a/doc/ref.sgml b/doc/ref.sgml
index 77ea97a..c1ba587 100644
--- a/doc/ref.sgml
+++ b/doc/ref.sgml
@@ -1780,7 +1780,7 @@
Syntax
- queryquery-expression &key database => result
+ queryquery-expression &key databasetypes => resultArguments and Values
@@ -1803,6 +1803,47 @@
of *default-database*.
+
+ types
+
+ A
+ field type
+ specififier. The default is &nil;.
+
+
+ The purpose of this argument is cause &clsql; to
+ import SQL numeric fields into numeric Lisp objects
+ rather than strings. This reduces the cost of
+ allocating a temporary string and the &clsql; users'
+ inconvenience of converting number strings into number
+ objects.
+
+
+ A value of :auto causes &clsql;
+ to automatically convert SQL fields into a
+ numeric format where applicable. The default value of
+ &nil; causes all fields to be returned as strings
+ regardless of the SQL type. Otherwise a list is expected
+ which has a element for each field that specifies the
+ conversion. If the list is shorter than the number
+ of fields, the a value of t is
+ assumed for the field. If the list is longer than
+ the number of fields, the extra elements are
+ ignored.
+
+ :int Field is imported as a
+ 32-bit signed integer.
+
+ :double Field is imported as a
+ double-float number.
+
+ t Field is imported as a
+ string.
+
+
+
+
+ result
@@ -1889,7 +1930,7 @@
Syntax
- map-queryoutput-type-specfunctionquery-expression &key database => result
+ map-queryoutput-type-specfunctionquery-expression &key databasetypes => resultArguments and Values
@@ -1929,6 +1970,17 @@
of *default-database*.
+
+ types
+
+
+ A field type specififier.
+ The default is &nil;. See query
+ for the semantics of this argument.
+
+
+ result
@@ -1985,8 +2037,9 @@
(map-query '(vector double-float)
#'(lambda (salary name)
(declare (ignorable name))
- (coerce (read-from-string salary) 'double-float))
- "select salary,name from simple where salary > 8000")
+ (let ((*read-default-float-format* 'double-float))
+ (coerce (read-from-string salary) 'double-float))
+ "select salary,name from simple where salary > 8000"))
=> #(10000.0d0 8000.5d0)
(type-of *)
=> (SIMPLE-ARRAY DOUBLE-FLOAT (2))
@@ -2048,7 +2101,7 @@
Syntax
- do-query ((&rest args) query-expression &key database) &body body => nil
+ do-query ((&rest args) query-expression &key databasetypes) &body body => nilArguments and Values
@@ -2078,6 +2131,17 @@
*default-database*.
+
+ types
+
+
+ A field type specififier.
+ The default is &nil;. See query
+ for the semantics of this argument.
+
+
+ body
@@ -2163,6 +2227,10 @@
query via a loop clause
Loop Clause
+
+ Compatibility
+ loop-for-as-tuples only works with &cmucl;.
+ Syntaxvar [type-spec] being {each | the} {record | records | tuple | tuples} {in | of} query [from database]