Hi Aleksander,

   I have the requirements to return a bytea array for some functions in
pg_thrift plugin.
What I did was similar to the following,

bytea** ret = palloc(len * sizeof(bytea*));
for (int i = 0; i < len; i++) {
   // allocate space
   ret[i] = palloc(size);
   // fill in ret[i]
   ...
}
PG_RETURN_POINTER(ret);
I can verify each ret[i] is correct by logging, but server crash when
executed PG_RETURN_POINTER(ret).
So, I am wondering what's the reason of the crash?
and what's the recommended way (best practice) to construct a return value
to be bytea array?

Reply via email to