X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=base%2Fbasic-sql.lisp;fp=base%2Fbasic-sql.lisp;h=64fdb44038d4741eecb6b5c7ceb27e5768067e66;hb=d8cc56b3f55e00fda2afffe8dae7d158bf33e2d8;hp=61a932e5ad02df135fc3e6c0687c4c6c962ca0d8;hpb=8071212edc91e628c70a628515ae893bfd85f2e3;p=clsql.git diff --git a/base/basic-sql.lisp b/base/basic-sql.lisp index 61a932e..64fdb44 100644 --- 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)) - (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))) - (record-sql-result res database) + (record-sql-action res :result database) res)) ;;; Execute @@ -54,12 +54,16 @@ pair.")) (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))) - (record-sql-result res database)) + (record-sql-action res :result database)) (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)