From: Kevin M. Rosenberg Date: Mon, 19 Apr 2004 22:12:02 +0000 (+0000) Subject: r9108: support multiple creation of indices X-Git-Tag: v2006ac.2~102 X-Git-Url: http://git.kpe.io/?p=umlisp.git;a=commitdiff_plain;h=f7e068906be2f9d6232e54a1063d1471adf20918 r9108: support multiple creation of indices --- diff --git a/create-sql.lisp b/create-sql.lisp index e212536..66b9c02 100644 --- a/create-sql.lisp +++ b/create-sql.lisp @@ -150,9 +150,22 @@ (dolist (file *umls-files*) (sql-insert-values conn file))) +(defun drop-index-cmd (colname tablename) + "Return sql create index command" + (case *umls-sql-type + (:mysql + (format nil "DROP INDEX ~a ON ~a" + (concatenate 'string tablename "_" colname "_X") + tablename)) + (t + (format nil "DROP INDEX ~a" + (concatenate 'string tablename "_" colname "_X"))))) + (defun sql-create-indexes (conn &optional (indexes +index-cols+)) "SQL Databases: create all indexes" (dolist (idx indexes) + (ignore-errors + (sql-execute (drop-index-cmd (car idx) (cadr idx)) conn)) (sql-execute (create-index-cmd (car idx) (cadr idx) (caddr idx)) conn))) (defun make-usrl (conn) diff --git a/umlisp.asd b/umlisp.asd index 78c30ff..2a4f438 100644 --- a/umlisp.asd +++ b/umlisp.asd @@ -34,7 +34,7 @@ (:file "classes" :depends-on ("sql-classes")) (:file "class-support" :depends-on ("classes")) (:file "composite" :depends-on ("sql-classes"))) - :depends-on (:clsql :clsql-mysql :kmrcl :hyperobject)) + :depends-on (clsql clsql-postgresql-socket kmrcl hyperobject)) #+(or allegro lispworks cmu sbcl openmcl scl) (defmethod perform ((o test-op) (c (eql (find-system :umlisp))))