r9108: support multiple creation of indices
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 19 Apr 2004 22:12:02 +0000 (22:12 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 19 Apr 2004 22:12:02 +0000 (22:12 +0000)
create-sql.lisp
umlisp.asd

index e212536b79bd5a1ca58445c7bf66937a6b5e7e44..66b9c028c8cfd1c1023dba59cb66bfd75da97ad2 100644 (file)
   (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)
index 78c30ffa9b901f60f044e05228fd306b0fbf46d2..2a4f4382a1ce34611963b818ef06b5da07692430 100644 (file)
@@ -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))))