X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fref.sgml;h=a24ae22b0d337952b4fba2c2af9f476c0c715c1d;hb=82dcac72ceee1ce964188726d7049ee5f19974e5;hp=77ea97ae23098f1ee802cc678dd2343e762fd664;hpb=378b802cff26b596f912aa05a2eb740c4f886d3d;p=clsql.git
diff --git a/doc/ref.sgml b/doc/ref.sgml
index 77ea97a..a24ae22 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,48 @@
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
+ signed integer, from 8-bits to 64-bits depending
+ upon the field type.
+
+ :double Field is imported as a
+ double-float number.
+
+ t Field is imported as a
+ string.
+
+
+
+
+ result
@@ -1889,7 +1931,7 @@
Syntax
- map-queryoutput-type-specfunctionquery-expression &key database => result
+ map-queryoutput-type-specfunctionquery-expression &key databasetypes => resultArguments and Values
@@ -1929,6 +1971,17 @@
of *default-database*.
+
+ types
+
+
+ A field type specififier.
+ The default is &nil;. See query
+ for the semantics of this argument.
+
+
+ result
@@ -1985,8 +2038,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 +2102,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 +2132,17 @@
*default-database*.
+
+ types
+
+
+ A field type specififier.
+ The default is &nil;. See query
+ for the semantics of this argument.
+
+
+ body
@@ -2163,6 +2228,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]