:db-kind :virtual))
(:metaclass standard-db-class)
(:documentation "Superclass for all CLSQL View Classes."))
-#+clisp
-(eval-when (:compile-toplevel :load-toplevel :execute)
- (make-instance 'standard-db-object) ;; clisp requires a made object before can use in this file
- #+nil (finalize-inheritance (find-class 'standard-db-object)) ;; this is not sufficient
- )
(defparameter *default-string-length* 255
"The length of a string which does not have a user-specified length.")
;; Drop the tables which store the given view class
;;
-(defun drop-view-from-class (view-class-name &key (database *default-database*))
+(defun drop-view-from-class (view-class-name &key (database *default-database*)
+ (owner nil))
"Removes a table defined by the View Class VIEW-CLASS-NAME from
DATABASE which defaults to *DEFAULT-DATABASE*."
(let ((tclass (find-class view-class-name)))
(if tclass
(let ((*default-database* database))
- (%uninstall-class tclass))
+ (%uninstall-class tclass :owner owner))
(error "Class ~s not found." view-class-name)))
(values))
-(defun %uninstall-class (self &key (database *default-database*))
+(defun %uninstall-class (self &key
+ (database *default-database*)
+ (owner nil))
(drop-table (sql-expression :table (view-table self))
:if-does-not-exist :ignore
- :database database)
+ :database database
+ :owner owner)
(setf (database-view-classes database)
(remove self (database-view-classes database))))