X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fooddl.lisp;h=09d879a020510582bfd75589265e9d8b21332b00;hp=79f6186a65b55caeebd30eef9575033717a4830b;hb=1b07d2fd927cf8f1943ac0a0b8c980d1dc707076;hpb=dc86bc45222a39ff2c977bdd8c0992940ac72385 diff --git a/sql/ooddl.lisp b/sql/ooddl.lisp index 79f6186..09d879a 100644 --- a/sql/ooddl.lisp +++ b/sql/ooddl.lisp @@ -20,11 +20,6 @@ :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.") @@ -134,20 +129,24 @@ in DATABASE which defaults to *DEFAULT-DATABASE*." ;; 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))))