postgresql中如何定义函数指针类型

rib06 2010-10-27 12:04:48
我需要基于postgresql的SPI写一个函数,函数的参数表中有一个是函数指针类型,在postgresql中可以定义这种类型吗?用create type可以创建这种回调函数类型么?

多谢!
...全文
161 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rib06 2010-10-28
  • 打赏
  • 举报
回复
多谢二位的回答。换句话说,所有从客户端程序的传入的指向自定义数据类型的指针应该都可以强转成int32然后传进去,是这样吗?

那么如果有下面的代码:


typedef int (*number_checker)(int* num); //客户端和服务器两端都需要有这个定义
...
int something_calculator(number_checker checker, int x, int y);


在something_calculator的实现中,PG_GETARG_xxx(0)里面的xxx该如何写呢?就写

int param = PG_GETARG_INT32(0);
number_checker numChecker = (number_checker)param;


能成吗?

再次感谢!
sql_lover 2010-10-27
  • 打赏
  • 举报
回复
SQL函数数据类型与C/C++函数返回类型的对应关系如下:

STRING 对应 char *
INTEGER 对应 long long
REAL 对应 double

sql_lover 2010-10-27
  • 打赏
  • 举报
回复
没有指针类型的数据类型吧,你可以考虑穿变量指针的地址。
zuoxingyu 2010-10-27
  • 打赏
  • 举报
回复
数据库里都没有指针类型的数据类型吧。

972

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧