X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fgenerics.lisp;h=3f3ee7c07262f20c338ce41adb3bfebbd711fb82;hb=b49459599b33655a541817d317dfeb6f839f637e;hp=860771e862eda4191a3c1d9feba37ab84536fff3;hpb=d2d49ab13c98bc7a1819a0fd3968268a5567bdc3;p=clsql.git diff --git a/sql/generics.lisp b/sql/generics.lisp index 860771e..3f3ee7c 100644 --- a/sql/generics.lisp +++ b/sql/generics.lisp @@ -18,6 +18,11 @@ ;; 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 @@ -72,7 +77,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 @@ -82,13 +87,13 @@ 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 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 @@ -139,7 +144,11 @@ 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