|
AbaPerls creates two DDL triggers to prevent and track changes to AbaPerls objects outside AbaPerls. These triggers call this procedure, since they have some code in common. Furthermore, there is a permission issue if the code is directly in the DDL triggers, since ownership chaining does not apply to DDL triggers.
Note that public has EXECUTE permission on this procedure. This is to permit application code that is called by a plain user to perform DDL under controlled circumstancs (typically such a procedure have been signed with a certificate through the $DBPERM directive). As noted above, ownership chaining does not apply, whence the permission. If the procedure is called directly, outside a trigger, it will return silently immediately.
Parameters: @eventdata xml -- output from the eventdata() function. @callerno tinyint -- which of the two triggers that called the procedure. |
|
|
|