projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r9001: Initial port to UFFI of SQL-ODBC
[clsql.git]
/
base
/
basic-sql.lisp
diff --git
a/base/basic-sql.lisp
b/base/basic-sql.lisp
index 4610c4208793c21cf3e85d57ddb8564b4392880f..38733147d990750b4eb971c90a5c96d96b734561 100644
(file)
--- a/
base/basic-sql.lisp
+++ b/
base/basic-sql.lisp
@@
-31,14
+31,14
@@
that expression and a list of field names selected in sql-exp."))
(defmethod query ((query-expression string) &key (database *default-database*)
(result-types nil) (flatp nil))
(defmethod query ((query-expression string) &key (database *default-database*)
(result-types nil) (flatp nil))
- (record-sql-
command query-expression
database)
+ (record-sql-
action query-expression :query
database)
(let* ((res (database-query query-expression database result-types))
(res (if (and flatp (= (length
(slot-value query-expression 'selections))
1))
(mapcar #'car res)
res)))
(let* ((res (database-query query-expression database result-types))
(res (if (and flatp (= (length
(slot-value query-expression 'selections))
1))
(mapcar #'car res)
res)))
- (record-sql-
result res
database)
+ (record-sql-
action res :result
database)
res))
;;; Execute
res))
;;; Execute
@@
-54,14
+54,13
@@
pair."))
(defmethod execute-command ((sql-expression string)
&key (database *default-database*))
(defmethod execute-command ((sql-expression string)
&key (database *default-database*))
- (record-sql-
command sql-expression
database)
+ (record-sql-
action sql-expression :command
database)
(let ((res (database-execute-command sql-expression database)))
(let ((res (database-execute-command sql-expression database)))
- (record-sql-
result res
database))
+ (record-sql-
action res :result
database))
(values))
(values))
-
(defmacro do-query (((&rest args) query-expression
(defmacro do-query (((&rest args) query-expression
- &key (database '*default-database*) (types nil))
+ &key (database '*default-database*) (
result-
types nil))
&body body)
"Repeatedly executes BODY within a binding of ARGS on the attributes
of each record resulting from QUERY. The return value is determined by
&body body)
"Repeatedly executes BODY within a binding of ARGS on the attributes
of each record resulting from QUERY. The return value is determined by
@@
-74,7
+73,7
@@
the result of executing BODY. The default value of DATABASE is
`(let ((,db ,database))
(multiple-value-bind (,result-set ,columns)
(database-query-result-set ,query-expression ,db
`(let ((,db ,database))
(multiple-value-bind (,result-set ,columns)
(database-query-result-set ,query-expression ,db
- :full-set nil :
types ,
types)
+ :full-set nil :
result-types ,result-
types)
(when ,result-set
(unwind-protect
(do ((,row (make-list ,columns)))
(when ,result-set
(unwind-protect
(do ((,row (make-list ,columns)))
@@
-86,7
+85,7
@@
the result of executing BODY. The default value of DATABASE is
(defun map-query (output-type-spec function query-expression
&key (database *default-database*)
(defun map-query (output-type-spec function query-expression
&key (database *default-database*)
- (types nil))
+ (
result-
types nil))
"Map the function over all tuples that are returned by the query in
query-expression. The results of the function are collected as
specified in output-type-spec and returned like in MAP."
"Map the function over all tuples that are returned by the query in
query-expression. The results of the function are collected as
specified in output-type-spec and returned like in MAP."
@@
-94,21
+93,21
@@
specified in output-type-spec and returned like in MAP."
`(if (atom ,type) ,type (car ,type))))
(case (type-specifier-atom output-type-spec)
((nil)
`(if (atom ,type) ,type (car ,type))))
(case (type-specifier-atom output-type-spec)
((nil)
- (map-query-for-effect function query-expression database types))
+ (map-query-for-effect function query-expression database
result-
types))
(list
(list
- (map-query-to-list function query-expression database types))
+ (map-query-to-list function query-expression database
result-
types))
((simple-vector simple-string vector string array simple-array
bit-vector simple-bit-vector base-string
simple-base-string)
((simple-vector simple-string vector string array simple-array
bit-vector simple-bit-vector base-string
simple-base-string)
- (map-query-to-simple output-type-spec function query-expression database types))
+ (map-query-to-simple output-type-spec function query-expression database
result-
types))
(t
(funcall #'map-query (cmucl-compat:result-type-or-lose output-type-spec t)
(t
(funcall #'map-query (cmucl-compat:result-type-or-lose output-type-spec t)
- function query-expression :database database :
types
types)))))
+ function query-expression :database database :
result-types result-
types)))))
-(defun map-query-for-effect (function query-expression database types)
+(defun map-query-for-effect (function query-expression database
result-
types)
(multiple-value-bind (result-set columns)
(database-query-result-set query-expression database :full-set nil
(multiple-value-bind (result-set columns)
(database-query-result-set query-expression database :full-set nil
- :
types
types)
+ :
result-types result-
types)
(when result-set
(unwind-protect
(do ((row (make-list columns)))
(when result-set
(unwind-protect
(do ((row (make-list columns)))
@@
-117,10
+116,10
@@
specified in output-type-spec and returned like in MAP."
(apply function row))
(database-dump-result-set result-set database)))))
(apply function row))
(database-dump-result-set result-set database)))))
-(defun map-query-to-list (function query-expression database types)
+(defun map-query-to-list (function query-expression database
result-
types)
(multiple-value-bind (result-set columns)
(database-query-result-set query-expression database :full-set nil
(multiple-value-bind (result-set columns)
(database-query-result-set query-expression database :full-set nil
- :
types
types)
+ :
result-types result-
types)
(when result-set
(unwind-protect
(let ((result (list nil)))
(when result-set
(unwind-protect
(let ((result (list nil)))
@@
-132,10
+131,10
@@
specified in output-type-spec and returned like in MAP."
(database-dump-result-set result-set database)))))
(database-dump-result-set result-set database)))))
-(defun map-query-to-simple (output-type-spec function query-expression database types)
+(defun map-query-to-simple (output-type-spec function query-expression database
result-
types)
(multiple-value-bind (result-set columns rows)
(database-query-result-set query-expression database :full-set t
(multiple-value-bind (result-set columns rows)
(database-query-result-set query-expression database :full-set t
- :
types
types)
+ :
result-types result-
types)
(when result-set
(unwind-protect
(if rows
(when result-set
(unwind-protect
(if rows