Handle empty RRF files, add MTS2012AB
[umlisp.git] / sql.lisp
index 53c98e2c238a0ee32ce99807c010249b9b470338..3847d02492692f4d5da0c2ee85f87b0be93a937e 100644 (file)
--- a/sql.lisp
+++ b/sql.lisp
@@ -8,7 +8,7 @@
 ;;;; Created:  Apr 2000
 ;;;;
 ;;;; This file, part of UMLisp, is
-;;;;    Copyright (c) 2000-2010 by Kevin M. Rosenberg, M.D.
+;;;;    Copyright (c) 2000-2012 by Kevin M. Rosenberg, M.D.
 ;;;;
 ;;;; UMLisp users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the GNU General Public License.
 
 (in-package #:umlisp)
 
-(defvar +umls-sql-map+
+(defparameter +umls-sql-map+
     '((:2004aa . "KUMLS2004AA")
       (:2006ac . "KUMLS2006AC")
       (:2006ad . "MTS2006AD")
-      (:2009ab . "MTS2009AB")))
-(defvar +default-umls-db+ "MTS2009AB")
+      (:2009ab . "MTS2009AB")
+      (:2010aa . "MTS2010AA")
+      (:2012ab . "MTS2012AB")))
+(defvar +default-umls-db+ "MTS2012AA_ALL")
 
 (defun lookup-db-name (db)
   (cdr (assoc (ensure-keyword db) +umls-sql-map+)))
 
 (defun sql-connect ()
   "Connect to UMLS database, automatically used pooled connections"
-  (clsql:connect (umls-connection-spec)
-                 :database-type *umls-sql-type* :pool t))
+  (let ((db (clsql:connect (umls-connection-spec)
+                           :database-type *umls-sql-type*
+                           :encoding :utf-8
+                           :pool t)))
+    db))
 
 (defun sql-disconnect (conn)
   "Disconnect from UMLS database, but put connection back into pool"