X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql.lisp;h=b53d2cb553e5bd4606adeba6d3040a37ca0aeae7;hb=28aeae6f894ac1e2b4ded59af9371b373e38a701;hp=207d68c6fa86ef933298fc2576ce6b35e26fb698;hpb=8dc001f5e7cf851c06006e489473a85611d348be;p=umlisp.git diff --git a/sql.lisp b/sql.lisp index 207d68c..b53d2cb 100644 --- a/sql.lisp +++ b/sql.lisp @@ -16,12 +16,14 @@ (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_ALL") + (:2011aa . "UMLS2011AA"))) +(defvar +default-umls-db+ "MTS2010AA_ALL") (defun lookup-db-name (db) (cdr (assoc (ensure-keyword db) +umls-sql-map+))) @@ -30,7 +32,7 @@ (defun umls-sql-db () *umls-sql-db*) -(defun umls-sql-db! (db) +(defun set-umls-sql-db (db) (etypecase db (string (setq *umls-sql-db* db)) @@ -40,28 +42,28 @@ (defvar *umls-sql-user* "secret") (defun umls-sql-user () *umls-sql-user*) -(defun umls-sql-user! (u) +(defun set-umls-sql-user (u) (sql-disconnect-pooled) (setq *umls-sql-user* u)) (defvar *umls-sql-passwd* "secret") (defun umls-sql-passwd () *umls-sql-passwd*) -(defun umls-sql-passwd! (p) +(defun set-umls-sql-passwd (p) (sql-disconnect-pooled) (setq *umls-sql-passwd* p)) (defvar *umls-sql-host* "localhost") (defun umls-sql-host () *umls-sql-host*) -(defun umls-sql-host! (h) +(defun set-umls-sql-host (h) (sql-disconnect-pooled) (setq *umls-sql-host* h)) (defvar *umls-sql-type* :mysql) (defun umls-sql-type () *umls-sql-type*) -(defun umls-sql-type! (h) +(defun set-umls-sql-type (h) (sql-disconnect-pooled) (setq *umls-sql-type* h)) @@ -75,8 +77,11 @@ (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"