X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fooddl.lisp;h=09d879a020510582bfd75589265e9d8b21332b00;hp=3ec173a40576e7534e8145d67791322ef7824660;hb=1b07d2fd927cf8f1943ac0a0b8c980d1dc707076;hpb=b5890c31a60303397efedb2110f46c6388426170 diff --git a/sql/ooddl.lisp b/sql/ooddl.lisp index 3ec173a..09d879a 100644 --- a/sql/ooddl.lisp +++ b/sql/ooddl.lisp @@ -129,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))))