;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: create-sql.lisp,v 1.1 2003/05/07 21:57:06 kevin Exp $
+;;;; $Id: create-sql.lisp,v 1.5 2003/05/09 11:02:44 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
"Return sql insert command for a row of values"
(let ((insert-func
(lambda (col value)
- (let ((q (quotechar col)))
- (concatenate 'string q (insert-col-value col value) q)))))
+ (concatenate 'string (quote-str col)
+ (insert-col-value col value)
+ (quote-str col)))))
(format
nil "INSERT INTO ~a (~{~a~^,~}) VALUES (~A)"
(table file)
(let ((custom-value (funcall (custom-value-fun col) values)))
(if custom-value
(if doquote
- (let ((q (quotechar col)))
- (concatenate 'string q (escape-backslashes custom-value) q))
+ (concatenate 'string (quote-str col)
+ (escape-backslashes custom-value)
+ (quote-str col))
(escape-backslashes custom-value))
"")))
(defun create-umls-db-by-insert ()
"SQL Databases: initializes entire database via SQL insert commands"
- (ensure-init-umls)
- (init-hash-table)
+ (ensure-ucols+ufiles)
+ (ensure-preparse)
(with-sql-connection (conn)
(sql-drop-tables conn)
(sql-create-tables conn)
(copy-cmd #'mysql-copy-cmd))
"SQL Databases: initializes entire database via SQL copy commands.
This is much faster that using create-umls-db-insert."
- (ensure-init-umls)
- (init-hash-table)
+ (ensure-ucols+ufiles)
+ (ensure-preparse)
(translate-all-files extension)
(with-sql-connection (conn)
(sql-drop-tables conn)
(defun translate-all-files (&optional (extension ".trans"))
"Copy translated files and return postgresql copy commands to import"
(make-noneng-index-file extension)
- (dolist (f *umls-files*) (translate-umls-file f extension)))
+ (dolist (f (remove "MRXW.NONENG" *umls-files* :test #'string= :key #'fil))
+ (translate-umls-file f extension)))
(defun translate-umls-file (file extension)
"Translate a umls file into a format suitable for sql copy cmd"
(nreverse avoidable) (nreverse unavoidable))))
(defun display-waste ()
- (ensure-init-umls)
+ (ensure-ucols+ufiles)
(multiple-value-bind (tw ta tu al ul) (umls-fixed-size-waste)
(format t "Total waste: ~d~%" tw)
(format t "Total avoidable: ~d~%" ta)
(defun max-umls-field ()
"Return length of longest field"
(declare (optimize (speed 3) (space 0)))
- (ensure-init-umls)
+ (ensure-ucols+ufiles)
(let ((max 0))
(declare (fixnum max))
(dolist (ucol *umls-cols*)
(defun max-umls-row ()
"Return length of longest row"
(declare (optimize (speed 3) (space 0)))
- (ensure-init-umls)
+ (ensure-ucols+ufiles)
(let ((rowsizes '()))
(dolist (file *umls-files*)
(let ((row 0))