diff --git a/storage/storage.lisp b/storage/storage.lisp index ed1161e..f95db67 100644 --- a/storage/storage.lisp +++ b/storage/storage.lisp @@ -66,6 +66,13 @@ ;(print sql) (dbi:do-sql (conn st) sql args))) +(defun xdo-sql (st spec) + (multiple-value-bind (sql args) (sxql:yield spec) + (let* ((conn (conn st)) + (qu (dbi:execute (dbi:prepare conn sql) args))) + (dbi:free-query-resources qu) + (dbi:row-count conn)))) + (defun drop-table (st tn) (do-sql st (sxql:drop-table tn :if-exists t)))