;; FDML
+(defgeneric choose-database-for-instance (object &optional database)
+ (:documentation "Used by the oodml functions to select which
+ database object to use. Chooses the database associated with the
+ object primarily, falls back to the database provided as an argument
+ or the *DEFAULT-DATABASE*."))
(defgeneric execute-command (expression &key database)
(:documentation
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
using values from the slot values of OBJECT, and OBJECT becomes
associated with DATABASE."))
-(defgeneric delete-instance-records (object)
+(defgeneric delete-instance-records (object &key database)
(:documentation
"Deletes the records represented by OBJECT in the appropriate
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
)
(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