;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: connect.lisp,v 1.1 2002/12/01 21:07:28 kevin Exp $
+;;;; $Id: connect.lisp,v 1.3 2003/05/14 05:29:48 kevin Exp $
;;;;
-;;;; This file, part of Hyperobject-SQL, is
-;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
(in-package :hyperobject)
-(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
-
+(eval-when (:compile-toplevel :execute)
+ (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
(defvar *ho-sql-db* "ho")
(defun ho-sql-db ()
(progn ,@body)
(when ,conn (clsql:disconnect :database ,conn)))))
-(defun sql (stmt conn)
- (if (string-equal "SELECT" (subseq stmt 0 6))
- (sql-query stmt conn)
- (sql-execute stmt conn)))
-
(defun sql-query (cmd conn &key (types :auto))
(clsql:query cmd :database conn :types types))
(defun sql-execute (cmd conn)
(clsql:execute-command cmd :database conn))
-(defun ho-sql (stmt)
- (check-type stmt string)
- (with-sql-connection (conn)
- (sql stmt conn)))
-
;;; Pool of open connections
(defmacro with-mutex-sql ((conn) &body body)