GBase 8s 还支持语言级权限,该权限指定 UDR 的编程语言,已经被授予了给定语言的 Usage 权限的用户可将它注册在数据库中。
这是对编程语言授予 Usage 权限的 USAGE ON LANGUAGE 子句的语法:
SPL、C 和 JAVA 关键字可指定 USAGE ON LANGUAGE 子句中的编程语言。每一 GRANT USAGE ON LANGUAGE 语句至多可指定一种编程语言。在缺省情况下,将对 SPL 的 Usage 权限授予 PUBLIC。
当用户执行 CREATE FUNCTION 或 CREATE PROCEDURE 语句来注册以 SPL、C 或 Java™ 语言编写的 UDR 时,数据库服务器验证用户是否拥有对编写 UDR 所用语言的 Usage 权限。如果 IFX_EXTEND_ROLE 配置参数已经启用了内建 EXTEND 角色,则只有还持有那种角色的用户可注册或删除以 C 语言或以 Java 语言编写的 UDR,即使用户持有对那些语言的 USAGE ON LANGUAGE 权限。
GRANT USAGE ON LANGUAGE C TO developers;如果上述示例成功地执行,则持有 developers 作为当前角色的用户可创建或删除 C 例程(如果他们还持有 EXTEND 角色,或者如果 IFX_EXTEND_ROLE 参数设置为 0 或 Off 的话)。
要获取关于这些语句需要的其他访问权限的信息,请参阅 CREATE FUNCTION 语句 和 CREATE PROCEDURE 语句。