Re: How can I pass an array to SPI_execute_with_args()? - Mailing list pgsql-general

From Tom Lane
Subject Re: How can I pass an array to SPI_execute_with_args()?
Date
Msg-id 20614.1257366377@sss.pgh.pa.us
Whole thread Raw
In response to How can I pass an array to SPI_execute_with_args()?  (Boszormenyi Zoltan <zb@cybertec.at>)
Responses Re: How can I pass an array to SPI_execute_with_args()?  (Boszormenyi Zoltan <zb@cybertec.at>)
List pgsql-general
Boszormenyi Zoltan <zb@cybertec.at> writes:
> I would like to execute the code below.

Since you're apparently deconstructing and reconstructing the array
anyway, why don't you do the insertion at the C-array stage, and
do just one construct_array() that yields the final result?

> If the above marked line sets oids[1] = INT8OID, I get this error:

> ERROR:  function array_append(anyarray, bigint) does not exist
> LINE 1: UPDATE product.t_product_inv SET ids = array_append($1, $2) ...
>                                                ^

You'd need to use the types int8[] and int8, explicitly.  No ANYARRAY.

            regards, tom lane

pgsql-general by date:

Previous
From: Sam Mason
Date:
Subject: Re: Search system catalog for mystery type
Next
From: Tom Lane
Date:
Subject: Re: Search system catalog for mystery type