(:documentation "Superclass for all CLSQL View Classes."))
(defmethod view-database ((self standard-db-object))
(:documentation "Superclass for all CLSQL View Classes."))
(defmethod view-database ((self standard-db-object))
(declare (optimize (speed 3)))
(unless *db-deserializing*
(let ((slot-name (%slot-name slot))
(declare (optimize (speed 3)))
(unless *db-deserializing*
(let ((slot-name (%slot-name slot))
(let ((keylist (mapcar #'view-class-slot-column (keyslots-for-class class))))
(when keylist
(format nil "CONSTRAINT ~APK PRIMARY KEY~A"
(let ((keylist (mapcar #'view-class-slot-column (keyslots-for-class class))))
(when keylist
(format nil "CONSTRAINT ~APK PRIMARY KEY~A"
-(defmethod %install-class ((self standard-db-class) database &aux schemadef)
- (dolist (slotdef (class-slots self))
+(defmethod %install-class ((self view-metaclass) database &aux schemadef)
+ (dolist (slotdef (ordered-class-slots self))
superclass of the newly-defined View Class."
`(progn
(defclass ,class ,supers ,slots ,@options
superclass of the newly-defined View Class."
`(progn
(defclass ,class ,supers ,slots ,@options
(finalize-inheritance (find-class ',class))))
(defun keyslots-for-class (class)
(finalize-inheritance (find-class ',class))))
(defun keyslots-for-class (class)
(db-value-from-slot slot value database)))))
(let* ((view-class (class-of obj))
(view-class-table (view-table view-class))
(db-value-from-slot slot value database)))))
(let* ((view-class (class-of obj))
(view-class-table (view-table view-class))
(db-value-from-slot slot value database)))))
(let* ((view-class (class-of obj))
(view-class-table (view-table view-class))
(db-value-from-slot slot value database)))))
(let* ((view-class (class-of obj))
(view-class-table (view-table view-class))
(let* ((view-class (class-of instance))
(joins (remove-if #'(lambda (sd)
(not (equal (view-class-slot-db-kind sd) :join)))
(let* ((view-class (class-of instance))
(joins (remove-if #'(lambda (sd)
(not (equal (view-class-slot-db-kind sd) :join)))