REVOKE(用户定义的扩展)

撤销用户角色对一个或多个用户定义的扩展的权限。

语法

REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL PRIVILEGES }
   ON {
       UDx‑type [[database.]schema.]function‑name( [argument‑list] )[,...]
       | ALL FUNCTIONS IN SCHEMA schema[,...] }
   FROM grantee[,...]

参数

GRANT OPTION FOR

撤销指定权限的授予选项。被授予者的当前权限不受影响。如果省略此子句,Vertica 将同时撤销授予选项和当前权限。

EXECUTE
撤销被授予者运行指定函数的能力。
ALL [PRIVILEGES]
撤销同时属于调用者的所有函数权限。用户无法撤销其自身没有的权限。

可选关键字 PRIVILEGES 符合 SQL 标准。

ON UDx‑type
指定函数的用户定义的扩展 (UDx) 类型,其中 UDx‑type 为以下几项之一:
  • FUNCTION

  • AGGREGATE FUNCTION

  • ANALYTIC FUNCTION

  • TRANSFORM FUNCTION

  • FILTER

  • PARSER

  • SOURCE

[database.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

function‑name
要撤销其权限的用户定义函数的名称。
ON ALL FUNCTIONS IN SCHEMA schema
撤销对指定架构中所有函数的权限。
argument-list
对所有多态函数都是必需的,是一个逗号分隔的函数实参列表,其中每个实参指定如下:
[argname] argtype

如果过程未定义实参,请提供一个空的实参列表。

grantee

指定其权限被撤销的用户,可以为以下用户之一:

CASCADE

I如果目标被授予者具有将指定权限扩展到其他用户的授予选项,则 CASCADE 会指定搜索这些用户并同时撤销他们的权限。

特权

非超级用户,为以下之一:

  • 目标函数的所有者

  • 可以选择 (WITH GRANT OPTION) 将这些权限扩展到其他用户的权限被授予者

示例

撤销用户 Bob 对函数 myzeroifnullEXECUTE 权限:

=> REVOKE EXECUTE ON FUNCTION myzeroifnull (x INT) FROM Bob;

撤销用户 Doug 对函数 Pagerank 的所有权限:

=> REVOKE ALL ON TRANSFORM FUNCTION Pagerank (t float) FROM Doug;

撤销用户 Bob 对 zero-schema 架构中所有函数的 EXECUTE 权限:

=> REVOKE EXECUTE ON ALL FUNCTIONS IN SCHEMA zero-schema FROM Bob;

撤销用户 Bob 对 tokenize 函数的 EXECUTE 权限:

=> REVOKE EXECUTE ON TRANSFORM FUNCTION tokenize(VARCHAR) FROM Bob;

撤销用户 Alice 对 ExampleSource() 源的所有权限:

=> REVOKE ALL ON SOURCE ExampleSource() FROM Alice;

另请参阅