Document that views, triggers, and constraints run with definer's rights rather 
than invoker's rights
-----------------------------------------------------------------------------------------------------

                 Key: DERBY-4505
                 URL: https://issues.apache.org/jira/browse/DERBY-4505
             Project: Derby
          Issue Type: Bug
          Components: Documentation
    Affects Versions: 10.2.2.1, 10.2.3.0, 10.3.3.1, 10.3.4.0, 10.4.2.1, 
10.4.3.0, 10.5.3.1, 10.5.4.0, 10.6.0.0
            Reporter: Rick Hillegas


Comments like the following can be found in the code, including this particular 
example from DDLConstantAction.storeConstraintDependenciesOnPrivileges():

         *  Views and triggers and constraints run with definer's privileges.

This is an important behavior of Derby privileges which deserves to be 
documented. I can find only one glancing reference to this behavior, viz., in 
the Reference Guide section on the REVOKE command. There we learn that:

"You must use the RESTRICT clause on REVOKE statements for routines. The 
RESTRICT clause specifies that the EXECUTE privilege cannot be revoked if the 
specified routine is used in a view, trigger, or constraint, and the privilege 
is being revoked from the owner of the view, trigger, or constraint."

>From that lone statement, a clever reader might deduce that Derby views, 
>triggers, and constraints run with definer rather than invoker rights. But 
>that is not the clear meaning of that statement in the Reference Guide. To 
>draw the necessary conclusion from that statement the reader would have to be 
>clever enough to understand the SQL Standard's tricky language around definer 
>and invoker rights--and that would be a very clever reader indeed.

In short, we need to document this behavior explicitly. I consider this hole in 
our documentation to be a serious enough defect that I am marking this issue as 
a Bug.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to