X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fsql.lisp;h=28d5a922b857a4f9dd9387f497ddcc02d5a7c2f1;hb=79dacf4fb7e6707e815c3e8072e5c809acaa9386;hp=077e27dd365bcd7e79aea520667c3b29be4693f9;hpb=e3f355aa2b125569097bd7108fbbd14daa23e7aa;p=clsql.git diff --git a/sql/sql.lisp b/sql/sql.lisp index 077e27d..28d5a92 100644 --- a/sql/sql.lisp +++ b/sql/sql.lisp @@ -27,11 +27,6 @@ (execute-command (sql-output expr database) :database database) (values)) -(defmethod explain ((expr %sql-expression) &key (database *default-database*)) - (let ((expression (sql-output expr database))) - (format *standard-output* "explain: ~S~%" expression) - (execute-command (concatenate 'string "explain " expression)))) - (defmethod query ((expr %sql-expression) &key (database *default-database*) (result-types nil) (flatp nil)) @@ -44,11 +39,11 @@ (unless (is-database-open database) (database-reconnect database)) (dolist (table (list-tables database)) - (drop-table table database)) + (drop-table table :database database)) (dolist (index (list-indexes database)) - (drop-index index database)) + (drop-index index :database database)) (dolist (seq (list-sequences database)) - (drop-sequence seq database))) + (drop-sequence seq :database database))) (defun print-query (query-exp &key titles (formats t) (sizes t) (stream t) (database *default-database*)) @@ -255,6 +250,12 @@ condition is true." (write-char #\) *sql-stream*))) t) +(defmethod describe-table ((table sql-create-table) + &key (database *default-database*)) + (database-describe-table + database + (string-downcase (symbol-name (slot-value table 'name))))) + #+nil (defmethod add-storage-class ((self database) (class symbol) &key (sequence t)) (let ((tablename (view-table (find-class class))))