+#+ignore
+(defun sql-create-kcon-table (conn)
+ "Create concept table, one row per concept."
+ (ignore-errors (execute-command "DROP TABLE KCON" :database conn))
+ (execute-command
+ (format nil "CREATE TABLE KCON (CUI INTEGER, STR ~A, LRL ~A)"
+ (case *umls-sql-type*
+ (:oracle
+ (format nil "VARCHAR2(~D)"
+ (slot-value (find-ucol "STR" "MRCONSO.RRF") 'max)))
+ (t "TEXT"))
+ (case *umls-sql-type*
+ (:mysql "TINYINT")
+ ((:postgresql :postgresql-socket) "INT2")
+ (:oracle "NUMBER(2,0)")
+ (t "INTEGER")))
+ :database conn)
+ (dolist (tuple (query "select distinct cui from MRCONSO order by cui"
+ :database conn))
+ (let ((cui (car tuple)))
+ (execute-command
+ (format nil "INSERT into KCON VALUES (~D,'~A',~D)"
+ cui
+ (add-sql-quotes (pfstr-hash cui) )
+ (cui-lrl cui))
+ :database conn))))
+