projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r8942: add :query to sql recording, support describe-table
[clsql.git]
/
base
/
basic-sql.lisp
diff --git
a/base/basic-sql.lisp
b/base/basic-sql.lisp
index 61a932e5ad02df135fc3e6c0687c4c6c962ca0d8..64fdb44038d4741eecb6b5c7ceb27e5768067e66 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,12
+54,16
@@
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))
+(defun describe-table (table &key (database *default-database*))
+ "Return list of 2-element lists containing table name and type."
+ (database-describe-table database table))
+
(defmacro do-query (((&rest args) query-expression
&key (database '*default-database*) (result-types nil))
&body body)
(defmacro do-query (((&rest args) query-expression
&key (database '*default-database*) (result-types nil))
&body body)