(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
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
nil, otherwise its value will be set to the result of calling
DATABASE-NULL-VALUE on the type of the slot."))
-(defgeneric output-sql (expr database)
- )
-
-(defgeneric output-sql-hash-key (arg database)
- )
-
-(defgeneric collect-table-refs (sql)
- )
-(defgeneric database-output-sql (arg database)
- )
-(defgeneric database-constraint-description (constraint database)
- )
(defgeneric database-pkey-constraint (class database)
)
-(defgeneric database-constraint-statement (constraints database)
- )
-(defgeneric %install-class (class database)
+(defgeneric %install-class (class database &key transactions)
)
(defgeneric database-generate-column-definition (class slotdef database)
)
(defgeneric read-sql-value (val type database db-type)
)
+
+;; Generation of SQL strings from lisp expressions
+
+(defgeneric output-sql (expr database)
+ (:documentation "Writes an SQL string appropriate for DATABASE
+ and corresponding to the lisp expression EXPR to
+ *SQL-STREAM*. The function SQL-OUTPUT is a top-level call for
+ generating SQL strings which initialises *SQL-STREAM*, calls
+ OUTPUT-SQL and reads the generated SQL string from
+ *SQL-STREAM*."))
+
+(defgeneric database-output-sql (expr database)
+ (:documentation "Returns an SQL string appropriate for DATABASE
+ and corresponding to the lisp expression
+ EXPR. DATABASE-OUTPUT-SQL is called by OUTPUT-SQL when no more
+ specific method exists for EXPR."))
+
+(defgeneric output-sql-hash-key (expr database)
+ (:documentation "Returns a list (or other object suitable for
+use as the key of an EQUAL hash table) which uniquely identifies
+the arguments EXPR and DATABASE."))
+
+(defgeneric collect-table-refs (sql)
+ )
+
+(defgeneric database-constraint-statement (constraints database)
+ )