You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mamta A. Satoor (JIRA)" <de...@db.apache.org> on 2006/08/02 05:17:14 UTC

[jira] Created: (DERBY-1631) Derby needs to support drop view cascade in order for revoke privilege to function correctly

Derby needs to support drop view cascade in order for revoke privilege to function correctly
--------------------------------------------------------------------------------------------

                 Key: DERBY-1631
                 URL: http://issues.apache.org/jira/browse/DERBY-1631
             Project: Derby
          Issue Type: New Feature
          Components: Documentation, SQL
    Affects Versions: 10.2.0.0
            Reporter: Mamta A. Satoor


In Derby, you can not drop a view if there is another view based on it. The dependent view has to be dropped before the provider view can be dropped
eg
create table t1
create view v1 as select * from t1
create view v2 as select * from v1
drop view v1
-- the drop view v1 will fail because v2 depends on view v1

This behavior causes a problem with revoke privilege. If a view is dependent on a privilege, then the revoke of the privilege is supposed to drop the view. But that will not happen if there is another view dependent on the already defined view
eg
user1
create table t1
grant select on t1 to user2
user2
create view v1 as select * from t1
create view v2 as select * from v1
user1
revoke select on t1 from user2
-- the above revoke statement will fail because when it tries to dop view v1, it can't do so because view v2 depends on v1

Until this issue is resolved. we should document this behavior in grant/revoke + view description

I will attach this Jira entry to DERBY-1611 which is the higher level jira entry for views and revoke privilege

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (DERBY-1631) Derby needs to support drop view cascade in order for revoke privilege to function correctly

Posted by "Mamta A. Satoor (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-1631?page=comments#action_12425444 ] 
            
Mamta A. Satoor commented on DERBY-1631:
----------------------------------------

One thing to note is we do not necessarily need the SQL support for drop view cascade. It can be supported at the language layer and revoke functionality can work directly with language layer to use the drop view cascade functionality. So, as far as revoke privilege goes, it will be sufficient to have drop view cascade implemented at the language layer.

> Derby needs to support drop view cascade in order for revoke privilege to function correctly
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1631
>                 URL: http://issues.apache.org/jira/browse/DERBY-1631
>             Project: Derby
>          Issue Type: New Feature
>          Components: Documentation, SQL
>    Affects Versions: 10.2.0.0
>            Reporter: Mamta A. Satoor
>
> In Derby, you can not drop a view if there is another view based on it. The dependent view has to be dropped before the provider view can be dropped
> eg
> create table t1
> create view v1 as select * from t1
> create view v2 as select * from v1
> drop view v1
> -- the drop view v1 will fail because v2 depends on view v1
> This behavior causes a problem with revoke privilege. If a view is dependent on a privilege, then the revoke of the privilege is supposed to drop the view. But that will not happen if there is another view dependent on the already defined view
> eg
> user1
> create table t1
> grant select on t1 to user2
> user2
> create view v1 as select * from t1
> create view v2 as select * from v1
> user1
> revoke select on t1 from user2
> -- the above revoke statement will fail because when it tries to dop view v1, it can't do so because view v2 depends on v1
> -- the error message returned will be
> ERROR X0Y23: Operation 'DROP VIEW' cannot be performed on object 'V1' because VIEW 'V2' is dependent on that object.
> Until this issue is resolved. we should document this behavior in grant/revoke + view description
> I will attach this Jira entry to DERBY-1611 which is the higher level jira entry for views and revoke privilege

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (DERBY-1631) Derby needs to support drop view cascade in order for revoke privilege to function correctly

Posted by "Mamta A. Satoor (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-1631?page=all ]

Mamta A. Satoor updated DERBY-1631:
-----------------------------------

    Description: 
In Derby, you can not drop a view if there is another view based on it. The dependent view has to be dropped before the provider view can be dropped
eg
create table t1
create view v1 as select * from t1
create view v2 as select * from v1
drop view v1
-- the drop view v1 will fail because v2 depends on view v1

This behavior causes a problem with revoke privilege. If a view is dependent on a privilege, then the revoke of the privilege is supposed to drop the view. But that will not happen if there is another view dependent on the already defined view
eg
user1
create table t1
grant select on t1 to user2
user2
create view v1 as select * from t1
create view v2 as select * from v1
user1
revoke select on t1 from user2
-- the above revoke statement will fail because when it tries to dop view v1, it can't do so because view v2 depends on v1
-- the error message returned will be
ERROR X0Y23: Operation 'DROP VIEW' cannot be performed on object 'V1' because VIEW 'V2' is dependent on that object.

Until this issue is resolved. we should document this behavior in grant/revoke + view description

I will attach this Jira entry to DERBY-1611 which is the higher level jira entry for views and revoke privilege

  was:
In Derby, you can not drop a view if there is another view based on it. The dependent view has to be dropped before the provider view can be dropped
eg
create table t1
create view v1 as select * from t1
create view v2 as select * from v1
drop view v1
-- the drop view v1 will fail because v2 depends on view v1

This behavior causes a problem with revoke privilege. If a view is dependent on a privilege, then the revoke of the privilege is supposed to drop the view. But that will not happen if there is another view dependent on the already defined view
eg
user1
create table t1
grant select on t1 to user2
user2
create view v1 as select * from t1
create view v2 as select * from v1
user1
revoke select on t1 from user2
-- the above revoke statement will fail because when it tries to dop view v1, it can't do so because view v2 depends on v1

Until this issue is resolved. we should document this behavior in grant/revoke + view description

I will attach this Jira entry to DERBY-1611 which is the higher level jira entry for views and revoke privilege

     Derby Info:   (was: [Release Note Needed])

> Derby needs to support drop view cascade in order for revoke privilege to function correctly
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1631
>                 URL: http://issues.apache.org/jira/browse/DERBY-1631
>             Project: Derby
>          Issue Type: New Feature
>          Components: Documentation, SQL
>    Affects Versions: 10.2.0.0
>            Reporter: Mamta A. Satoor
>
> In Derby, you can not drop a view if there is another view based on it. The dependent view has to be dropped before the provider view can be dropped
> eg
> create table t1
> create view v1 as select * from t1
> create view v2 as select * from v1
> drop view v1
> -- the drop view v1 will fail because v2 depends on view v1
> This behavior causes a problem with revoke privilege. If a view is dependent on a privilege, then the revoke of the privilege is supposed to drop the view. But that will not happen if there is another view dependent on the already defined view
> eg
> user1
> create table t1
> grant select on t1 to user2
> user2
> create view v1 as select * from t1
> create view v2 as select * from v1
> user1
> revoke select on t1 from user2
> -- the above revoke statement will fail because when it tries to dop view v1, it can't do so because view v2 depends on v1
> -- the error message returned will be
> ERROR X0Y23: Operation 'DROP VIEW' cannot be performed on object 'V1' because VIEW 'V2' is dependent on that object.
> Until this issue is resolved. we should document this behavior in grant/revoke + view description
> I will attach this Jira entry to DERBY-1611 which is the higher level jira entry for views and revoke privilege

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira