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