From a88c29f49f8db2cdef790ea152fef2d1dbbe0e64 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Fri, 8 Aug 2003 09:06:43 +0000 Subject: [PATCH] r5468: *** empty log message *** --- package.lisp | 3 ++- sql.lisp | 28 ++++++++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/package.lisp b/package.lisp index 963b298..a0de5c1 100644 --- a/package.lisp +++ b/package.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: package.lisp,v 1.30 2003/08/02 07:03:00 kevin Exp $ +;;;; $Id: package.lisp,v 1.31 2003/08/08 09:06:06 kevin Exp $ ;;;; ;;;; This file, part of UMLisp, is ;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D. @@ -52,6 +52,7 @@ #:lat-abbr-info #:stt-abbr-info ;; From sql.lisp + #:*umls-sql-db* #:umls-sql-user! #:umls-sql-passwd! #:umls-sql-db! diff --git a/sql.lisp b/sql.lisp index d0f3615..e4900ad 100644 --- a/sql.lisp +++ b/sql.lisp @@ -7,7 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: sql.lisp,v 1.13 2003/07/22 01:54:39 kevin Exp $ +;;;; $Id: sql.lisp,v 1.14 2003/08/08 09:06:06 kevin Exp $ ;;;; ;;;; This file, part of UMLisp, is ;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D. @@ -18,12 +18,24 @@ (in-package #:umlisp) -(defvar *umls-sql-db* "KUMLS2003AB") +(defvar +umls-sql-map+ + '((:2002AD . "KUMLS2002AD") (:2003AA . "KUMLS2003AA") + (:2003AB . "KUMLS2003AB"))) +(defvar +default-umls-db+ "KUMLS2003AB") + + +(defun lookup-db-name (db) + (cdr (assoc (ensure-keyword db) +umls-sql-map+))) + (defun umls-sql-db () *umls-sql-db*) -(defun umls-sql-db! (dbname) - (sql-disconnect-pooled) - (setq *umls-sql-db* dbname)) + +(defun umls-sql-db! (db) + (unless (eq db *umls-sql-db*) + (sql-disconnect-pooled)) + (setq *umls-sql-db* db)) + +(umls-sql-db! :2003AB) (defvar *umls-sql-user* "secret") (defun umls-sql-user () @@ -55,9 +67,9 @@ (defun sql-connect () "Connect to UMLS database, automatically used pooled connections" - (clsql:connect - `(,(umls-sql-host) ,(umls-sql-db) ,(umls-sql-user) ,(umls-sql-passwd)) - :database-type *umls-sql-type* :pool t)) + (clsql:connect (list *umls-sql-host* (lookup-db-name *umls-sql-db*) + *umls-sql-user* *umls-sql-passwd*) + :database-type *umls-sql-type* :pool t)) (defun sql-disconnect (conn) "Disconnect from UMLS database, but put connection back into pool" -- 2.34.1