X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql.lisp;h=dfb85aaa3edb99deddb4f21c78b74c3414f45064;hb=685f8f4ab5c9a6ea5581e4f340e5b70665587114;hp=e7ee3a469814000d67ae3b8f8487a11b11ffaf74;hpb=bfdd5c9d3d66970759fcdbee5a51da2ca93ddf06;p=umlisp.git diff --git a/sql.lisp b/sql.lisp index e7ee3a4..dfb85aa 100644 --- a/sql.lisp +++ b/sql.lisp @@ -4,28 +4,37 @@ ;;;; ;;;; Name: sql.lisp ;;;; Purpose: Low-level SQL routines data for UMLisp -;;;; Programmer: Kevin M. Rosenberg +;;;; Author: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: sql.lisp,v 1.3 2002/10/09 23:03:41 kevin Exp $ +;;;; $Id: sql.lisp,v 1.16 2003/08/08 09:20:51 kevin Exp $ ;;;; ;;;; This file, part of UMLisp, is -;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D. +;;;; Copyright (c) 2000-2003 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) -(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))) +(in-package #:umlisp) +(defvar +umls-sql-map+ + '((:2002AD . "KUMLS2002AD") (:2003AA . "KUMLS2003AA") + (:2003AB . "KUMLS2003AB"))) +(defvar +default-umls-db+ :2003AB) -(defvar *umls-sql-dsn* "KUMLS2002AC") -(defun umls-sql-dsn () - *umls-sql-dsn*) -(defun umls-sql-dsn! (dbname) - (sql-disconnect-pooled) - (setq *umls-sql-dsn* dbname)) + +(defun lookup-db-name (db) + (cdr (assoc (ensure-keyword db) +umls-sql-map+))) + +(defvar *umls-sql-db* +default-umls-db+) +(defun umls-sql-db () + *umls-sql-db*) + +(defun umls-sql-db! (db) + (setq *umls-sql-db* db)) + +(umls-sql-db! :2003AB) (defvar *umls-sql-user* "secret") (defun umls-sql-user () @@ -57,7 +66,8 @@ (defun sql-connect () "Connect to UMLS database, automatically used pooled connections" - (clsql:connect `(,(umls-sql-host) ,(umls-sql-dsn) ,(umls-sql-user) ,(umls-sql-passwd)) + (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) @@ -104,6 +114,3 @@ (defun mutex-sql-query (cmd &key (types :auto)) (with-mutex-sql (conn) (sql-query cmd conn :types types))) - - -