(format nil " (~d)" length)
"")))
((:postgresql :postgresql-socket)
+ ;; FIXME: incorrect syntax
(if (integerp length)
- (format nil "substr(~A,1,~D)" colname length)
+ (format nil "substr((~A)::text,1,~D)" colname length)
colname))
(t
colname))))
(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)