X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fsql.lisp;h=125de200816019409c9dfbbb448a08639cf31178;hb=bd7ba3689f8d04d6806f4e2e819dda23ecc9334f;hp=12535e5fc43d4bc0c87725d752425c8a818e4553;hpb=7d50938ba2db52a713498e49aa1679deae6f0b6b;p=clsql.git diff --git a/sql/sql.lisp b/sql/sql.lisp index 12535e5..125de20 100644 --- a/sql/sql.lisp +++ b/sql/sql.lisp @@ -2,13 +2,12 @@ ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: sql.cl -;;;; Purpose: High-level SQL interface -;;;; Programmers: Kevin M. Rosenberg based on -;;;; Original code by Pierre R. Mai -;;;; Date Started: Feb 2002 +;;;; Name: sql.cl +;;;; Purpose: High-level SQL interface +;;;; Authors: Kevin M. Rosenberg based on code by Pierre R. Mai +;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: sql.lisp,v 1.1 2002/09/30 10:19:23 kevin Exp $ +;;;; $Id: sql.lisp,v 1.5 2003/05/06 02:27:08 kevin Exp $ ;;;; ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai @@ -18,16 +17,10 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) -(in-package :clsql-sys) +(eval-when (:compile-toplevel) + (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))) -;;; Modified by KMR -;;; - to use CMUCL-COMPAT library -;;; - fix format strings in error messages -;;; - use field types - - -;;; Simple implementation of SQL along the lines of Harlequin's Common SQL +(in-package #:clsql-sys) ;;; Database handling @@ -65,8 +58,8 @@ (database-type *default-database-type*) (pool nil)) "Connects to a database of the given database-type, using the type-specific -connection-spec. if-exists is currently ignored. -If pool is t the the connection will be taken from the general pool, +connection-spec. +If pool is t the connection will be taken from the general pool, if pool is a conn-pool object the connection will be taken from this pool. " (if pool @@ -121,6 +114,7 @@ if the database is from a pool it will be released to this pool." ;;; Basic operations on databases +(defgeneric query (expression &key database types)) (defmethod query (query-expression &key (database *default-database*) types) "Execute the SQL query expression query-expression on the given database. @@ -128,7 +122,7 @@ Returns a list of lists of values of the result of that expression." (database-query query-expression database types)) - +(defgeneric execute-command (expression &key database)) (defmethod execute-command (sql-expression &key (database *default-database*)) "Execute the SQL command expression sql-expression on the given database. Returns true on success or nil on failure."