X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fgenerics.lisp;h=0814d0f2674d1bdf556c6bd4f0e128107daa0baa;hb=f10fc333da09ea7e24477e6199ffbc541adff2f1;hp=d8066cf04a8709fbcddaf58e9c766af737ac380b;hpb=b5890c31a60303397efedb2110f46c6388426170;p=clsql.git diff --git a/sql/generics.lisp b/sql/generics.lisp index d8066cf..0814d0f 100644 --- a/sql/generics.lisp +++ b/sql/generics.lisp @@ -19,7 +19,14 @@ (in-package #:clsql-sys) -;; FDML +;; FDML + +(defgeneric choose-database-for-instance (object 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 @@ -48,7 +55,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 +70,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 @@ -84,7 +91,7 @@ case, a record is created in the appropriate table of DATABASE 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 @@ -109,8 +116,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 @@ -143,7 +150,7 @@ DATABASE-NULL-VALUE on the type of the slot.")) ) -;; 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