Re: How to pass array from .pgc to sql function
От | Merlin Moncure |
---|---|
Тема | Re: How to pass array from .pgc to sql function |
Дата | |
Msg-id | CAHyXU0w7=SiUih8Z5amwe8AuGErrHDPaG0newXV_m8uu5_u1BQ@mail.gmail.com обсуждение исходный текст |
Ответ на | How to pass array from .pgc to sql function (Siva Palanisamy <siva_p@hcl.com>) |
Список | pgsql-general |
On Mon, Sep 19, 2011 at 8:20 AM, Siva Palanisamy <siva_p@hcl.com> wrote: > Hi All, > > > > I am using embedded Postgres ‘C’ file to make function calls to the sql. I > have a .pgc (a ‘C’ file with sql statements) and .sql file. > > > > I have a pointer array that looks like this: > > typedef struct { > > char* displayName; > > } DisplayName; > > > > DisplayName* displayName_list = calloc(5, sizeof(*displayName_list)); > > > > displayName_list = response->displayName_list > > > > Assume that response->displayName_list holds the list of names to be sent to > the sql function. Below is the similar sql func: > > > > CREATE OR REPLACE FUNCTION prepare_names,TEXT[]) > > RETURNS VOID AS ' > > …………………………………. > > > > I need to convert that pointer which holds the list of names to the sql func > as an array. Please help me on this part. it looks like container types are not supported in ecpg. see: http://developer.postgresql.org/pgdocs/postgres/ecpg-variables.html#ECPG-VARIABLES-NONPRIMITIVE-SQL. You can probably work around the issue by constructing text representations of the array and casting it in the query. merlin
В списке pgsql-general по дате отправления: