X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql.lisp;h=2cbd602fc4a77c17290254c955b1b8dd1548a80a;hb=51d6df70857648f762bf43486a5340a548d961c7;hp=6667de0c91137dae6f4c879c8a86e7c3bc75beb7;hpb=3da54733f61bd3305fdc5abd5fc961051c59ffb8;p=hyperobject.git diff --git a/sql.lisp b/sql.lisp index 6667de0..2cbd602 100644 --- a/sql.lisp +++ b/sql.lisp @@ -1,4 +1,4 @@ -ld;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*- +;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; @@ -7,10 +7,9 @@ ld;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*- ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: sql.lisp,v 1.1 2002/12/09 10:42:06 kevin Exp $ +;;;; $Id: sql.lisp,v 1.5 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) @@ -36,6 +35,9 @@ ld;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*- (define-inverse cl esd)))) ) +(defgeneric sql-name (cl) + ) + (defmethod sql-name ((cl hyperobject-class)) "Return name of SQL table for a class" (let* ((sql-name-slot (slot-value cl 'sql-name)) @@ -151,13 +153,15 @@ SQL name" ;;;; Runtime Commands +(defgeneric sql-create (cl)) (defmethod sql-create (cl) - (with-sql-connection (conn) + (with-sql-connection (conn) (sql-execute (slot-value cl 'create-table-cmd) conn) (dolist (cmd (slot-value cl 'create-indices-cmds)) (sql-execute cmd conn)) (values))) +(defgeneric sql-drop (cl)) (defmethod sql-drop (cl) (mutex-sql-execute (slot-value cl 'drop-table-cmd)) (values))