更新日期:2024年09月11日
对long long 和double 函数,主函数func()的返回值即是函数返回值。
对字符串函数,字符串可以在result 和length 参数中被返回。
result 是255 个字节长的一个缓冲区,如果返回结果不超过255,就可以把返
回结果放到result 中,
这样做的一个好处就是不用去管理result 的内存。
例如:
memcpy(result, "result value", 12);
*length = 12;
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1389
return result;
如果返回结果超过255 个字节,
就需要在func_init()或func()中申请空间并在
func_deinit()中释放了,注意不要产生内存泄露。例如在func_init 中:
在func_init 中:
initid->ptr = (char *) malloc(MAX_LEN);
在func_deinit 中:
free(initid->ptr);
为了在主函数中表明一个NULL 返回值,设定is_null 为1:
*is_null = 1;
为了在函数中表明一个错误返回,设定error 参数为1:
*error = 1;
如果,某一行func()设置*error 为1,则当前行函数值是NULL,但是并不影
响后续行的结果,func ()将继续被调用。