reading array[text] in C extension function - Mailing list pgsql-general

From Rémi Cura
Subject reading array[text] in C extension function
Date
Msg-id CAJvUf_vSzN6qS0YAmv-qW1569N5Zg-XM3jsHvx_TSxdGBL7AKQ@mail.gmail.com
Whole thread Raw
Responses Re: reading array[text] in C extension function  (Rémi Cura <remi.cura@gmail.com>)
List pgsql-general
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

pgsql-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: Need Help to implement Proximity search feature
Next
From: saggarwal
Date:
Subject: Re: pg_depend OBJID not found