X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fgenerics.lisp;h=b0a44725e766490248ab2373d41df8047e96af02;hp=d8066cf04a8709fbcddaf58e9c766af737ac380b;hb=c680432aea0177677ae2ee7b810a7404f7a05cab;hpb=b5890c31a60303397efedb2110f46c6388426170 diff --git a/sql/generics.lisp b/sql/generics.lisp index d8066cf..b0a4472 100644 --- a/sql/generics.lisp +++ b/sql/generics.lisp @@ -4,12 +4,10 @@ ;;;; ;;;; Name: generics.lisp ;;;; Purpose: Generic function definitions for DB interfaces -;;;; Author: Kevin M. Rosenberg based on +;;;; Author: Kevin M. Rosenberg ;;;; Created: Apr 2004 ;;;; -;;;; $Id$ -;;;; -;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg +;;;; This file, part of CLSQL, is Copyright (c) 2004-2010 by Kevin M. Rosenberg ;;;; ;;;; CLSQL users are granted the rights to distribute and use this software ;;;; as governed by the terms of the Lisp Lesser GNU Public License @@ -19,7 +17,7 @@ (in-package #:clsql-sys) -;; FDML +;; FDML (defgeneric execute-command (expression &key database) (:documentation @@ -48,7 +46,7 @@ record selected by QUERY-EXPRESSION, the results are returned as elements of a list.")) -;; OODML +;; OODML (defgeneric update-record-from-slot (object slot &key database) (:documentation @@ -63,7 +61,7 @@ attributes having default values. Furthermore, OBJECT becomes associated with DATABASE.")) (defgeneric update-record-from-slots (object slots &key database) - (:documentation + (:documentation "Updates the values stored in the columns represented by the slots, specified by the CLOS slot names SLOTS, of View Class instance OBJECT. DATABASE defaults to *DEFAULT-DATABASE* and @@ -74,7 +72,7 @@ represented by SLOTS are initialised from the values of the supplied slots with other attributes having default values. Furthermore, OBJECT becomes associated with DATABASE.")) -(defgeneric update-records-from-instance (object &key database) +(defgeneric update-records-from-instance (object &key database this-class) (:documentation "Using an instance of a View Class, OBJECT, update the table that stores its instance data. DATABASE defaults to @@ -90,7 +88,7 @@ associated with DATABASE.")) table of the database associated with OBJECT. If OBJECT is not yet associated with a database, an error is signalled.")) -(defgeneric update-instance-from-records (object &key database) +(defgeneric update-instance-from-records (object &key database this-class) (:documentation "Updates the slot values of the View Class instance OBJECT using the attribute values of the appropriate table of DATABASE @@ -109,8 +107,8 @@ database, *DEFAULT-DATABASE*. Join slots are updated but instances of the class on which the join is made are not updated.")) -(defgeneric instance-refreshed (object) - (:documentation +(defgeneric instance-refreshed (object) + (:documentation "Provides a hook which is called within an object oriented call to SELECT with a non-nil value of REFRESH when the View Class instance OBJECT has been updated from the database. A @@ -141,9 +139,13 @@ DATABASE-NULL-VALUE on the type of the slot.")) ) (defgeneric read-sql-value (val type database db-type) ) +(defgeneric database-make-autoincrement-sequence (class slotdef database) + ) +(defgeneric database-last-auto-increment-id (database table column) + ) -;; Generation of SQL strings from lisp expressions +;; Generation of SQL strings from lisp expressions (defgeneric output-sql (expr database) (:documentation "Writes an SQL string appropriate for DATABASE