Hey,
I'm trying to use an array of text as input in a C function in a custom
extension.

the prototype of the sql function is  :
CREATE OR REPLACE FUNCTION pc_subset(  dimensions TEXT[])


it is called like :
pc_subset(  ARRAY['X'::text,'Y'::text])

and the C function trying to read the text array (converting it to cstring
) :

text ** vals;

char ** cstring_array;
 nelems = ARR_DIMS(arrptr)[0];
vals = (text**) ARR_DATA_PTR(arrptr);
cstring_array = (char **) pcalloc(nelems * sizeof(char * ) );
for (i3=0;i3<nelems;i3++)
{
cstring_array[i3] = text_to_cstring( vals[i3]);
 elog(INFO, "elem %d of dim_array : %s\n",i3,cstring_array[i3]);
}

I crashes postgres because of a segfault.


Any help appreciated =)

Cheers,
Rémi-C

Reply via email to