CREATE FUNCTION

    注意事项

    相比于原始的openGauss,dolphin对于CREATE FUNCTION语法的修改为:

    1. 增加 LANGUAGE 默认值 plpgsql。

    2. 增加语法兼容项 [NOT] DETERMINISTIC。

    3. 增加语法兼容项 { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } 。

    4. 增加语法兼容项 SQL SECURITY { DEFINER | INVOKER }。

    5. 增加MySQL风格语法格式。

    dolphin加载后,CREATE FUNCTION 语法的格式为

    • O风格的创建自定义函数的语法。

    • MySQL风格语法格式。

    参数说明

    • LANGUAGE lang_name

      用以实现函数的语言的名称。PostgreSQL风格函数默认值 sql, O风格默认值 plpgsql。 MySQL风格语法格式下,LANGUAGE选项仅做语法兼容,可填入其他值,但最终将使用plpgsql作为实现函数的语言。在MySQL风格语法格式下,此选项允许重复。

    • SQL SECURITY INVOKER

      表明该函数将带着调用它的用户的权限执行。该参数可以省略。

      SQL SECURITY INVOKER和SECURITY INVOKER和AUTHID CURRENT_USER的功能相同。

    • SQL SECURITY DEFINER

      声明该函数将以创建它的用户的权限执行。

      SQL SECURITY DEFINER和AUTHID DEFINER和SECURITY DEFINER的功能相同。

      在MySQL风格语法格式下,此选项允许重复,且与SQL SECURITY INVOKER同类别。该类别的函数选项以最后一个输入为准。

    相关链接

    CREATE FUNCTION