;;;;
;;;; 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
(in-package #:clsql-sys)
-;; FDML
+;; FDML
(defgeneric execute-command (expression &key database)
(:documentation
elements of a list."))
-;; OODML
+;; OODML
(defgeneric update-record-from-slot (object slot &key database)
(:documentation
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
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
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
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
)
(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