[GSoC] Question about returning bytea array

From: Charles Cui <charles(dot)cui1984(at)gmail(dot)com>
To: Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Subject: [GSoC] Question about returning bytea array
Date: 2018-05-17 05:03:10
Message-ID: CA+SXE9um+OBHOkBj4i4gHub-W4tw0+02MO4B_6AcZ6gJ+NNH9g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2018-05-17 05:15:25 Re: [GSoC] Question about returning bytea array
Previous Message Thomas Munro 2018-05-17 04:40:13 Re: GiST VACUUM