PostgreSQL中怎么载入外部C语言函数


这期内容当中小编将会给大家带来有关PostgreSQL中怎么载入外部C语言函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。这是怎么来的?直接看函数定义(src/pl/plpgsql/src/pl_handler.c):所有外挂模块中的函数都是这种形式定义,返回值必须是Datum,参数必须使用预处理符 PG_FUNCTION_ARGS。plpgsql_call_handler是定义在pg_language中的存储过程处理入口,调用方式与可以在SQL中使用的函数有所不同,所以它直接使用return方式返回值。而一般的SQL函数比如earthdistance模块中的geo_distanceSQL定义它必须使用 PG_RETURN_xxx 系列预处理符来返回。返回值的使用可以参考DirectFunctionCalln(n为数字,表是参数个数)定义去理解,有必要的话另文再写,这里简单一提,主要还是讲预处理符PG_FUNCTION_INFO_V1,下边是它的定义:再看earthdistance.so的symbol:CppConcat(pg_finfo_,funcname)新定义一个前缀 pg_finfo_ 的函数,pg_finfo_ 香港云主机geo_distance就是这么来的,它很简单,返回结构体 Pg_finfo_record,其成员 api_version 为 1。强大的PG已经为今后扩展做好准备。函数加载部分(src/backend/utils/fmgr/fmgr.c)的检查 fetch_finfo_record:上述就是小编为大家分享的PostgreSQL中怎么载入外部C语言函数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注开发云行业资讯频道。

相关推荐: win7写入注册表出错怎么修复

这篇文章主要介绍“win7写入注册表出错怎么修复”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win7写入注册表出错怎么修复”文章能帮助大家解决问题。修复方法:1、按win+r打开运行窗口,输入regedit。2、依次…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/26 17:24
Next 07/26 17:24

相关推荐