Derby
  1. Derby
  2. DERBY-1631

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

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 10.2.1.6
    • Fix Version/s: None
    • Component/s: Documentation, SQL
    • Urgency:
      Normal

      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

        Issue Links

          Activity

          Hide
          Mamta A. Satoor added a comment -

          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.

          Show
          Mamta A. Satoor added a comment - 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.

            People

            • Assignee:
              Unassigned
              Reporter:
              Mamta A. Satoor
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:

                Development