X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Ffddl.lisp;h=3b5b1bd195b6a7e66a5d0c6626e909452c6565f6;hp=51f8f05d5d5954b9a174d0bcc7bbd362c39fee67;hb=ed3fc2379a78875cf80cdb4d000c0bfdf8806fe7;hpb=fc58e4fb7d908985389c86adf57ddee6c1dde5d2 diff --git a/sql/fddl.lisp b/sql/fddl.lisp index 51f8f05..3b5b1bd 100644 --- a/sql/fddl.lisp +++ b/sql/fddl.lisp @@ -216,14 +216,14 @@ the index from." (unless (index-exists-p index-name :database database) (return-from drop-index))) (:error t)) - (unless (db-type-use-column-on-drop-index? - (database-underlying-type database)) - (setq on nil)) - (execute-command (format nil "DROP INDEX ~A~A" index-name - (if (null on) "" - (concatenate 'string " ON " - (database-identifier on database)))) - :database database))) + (let* ((db-type (database-underlying-type database)) + (index-identifier (cond ((db-type-use-fully-qualified-column-on-drop-index? db-type) + (format nil "~A.~A" (database-identifier on database) index-name)) + ((db-type-use-column-on-drop-index? db-type) + (format nil "~A ON ~A" index-name (database-identifier on database))) + (t index-name)))) + (execute-command (format nil "DROP INDEX ~A" index-identifier) + :database database)))) (defun list-indexes (&key (owner nil) (database *default-database*) (on nil)) "Returns a list of strings representing index names in DATABASE