From: | Boszormenyi Zoltan <zb(at)cybertec(dot)at> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: How can I pass an array to SPI_execute_with_args()? |
Date: | 2009-11-05 06:29:41 |
Message-ID: | 4AF270D5.6060908@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Tom Lane írta:
> Boszormenyi Zoltan <zb(at)cybertec(dot)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?
>
Okay, that's a good idea. :-)
>> 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.
>
OK, so the OID for int8[] is (looking at pg_type.h...) 1016,
i.e. for type "_int8"? It worked this way. Thank you very much.
A question, though: why are there symbolic names for certain
array types (FLOAT4ARRAYOID, etc) but not for the most?
Best regards,
Zoltán Böszörményi
--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/
From | Date | Subject | |
---|---|---|---|
Next Message | Hitoshi Harada | 2009-11-05 07:33:07 | Re: sudoku in an sql statement |
Previous Message | Greg Smith | 2009-11-05 01:45:55 | Re: warm standby resume and take online problems |