Refactorng choose-database-for-instance method out.
[clsql.git] / sql / generics.lisp
index f022ff92947c6614368b9c61fad0e5295b54b7a3..3f3ee7c07262f20c338ce41adb3bfebbd711fb82 100644 (file)
 
 
 ;; FDML
 
 
 ;; 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
 
 (defgeneric execute-command (expression &key database)
   (:documentation
@@ -82,7 +87,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."))
 
 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
   (:documentation
    "Deletes the records represented by OBJECT in the appropriate
 table of the database associated with OBJECT. If OBJECT is not
@@ -139,7 +144,11 @@ DATABASE-NULL-VALUE on the type of the slot."))
   )
 (defgeneric read-sql-value  (val type database db-type)
   )
   )
 (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