Yeah, I meant bytea[].
It still doesn't work. Same error:
ERROR: cannot cast type character varying to bytea[]
Not that this is not the same as doing
select '{1, 2, 3}'::int[].
This is the equivalent of doing
SELECT ('{10000, 10000, 10000, 10000}'::varchar(255))::int[];
I can't pass in a string then cast it to something other than a string.
You have made me realize though, that what you are suggesting might work
if I call this as an ad-hoc SELECT statement instead of calling the
stored procedure directly. Less efficient, but then I should be able to
do what you suggest. I'll have to try that. Or maybe that is what you
meant all along.
Jorge Godoy wrote:
> William Garrison <postgres@mobydisk.com> writes:
>
>> WHERE customerid = ANY($1);
>> Results in the error:
>> ERROR: op ANY/ALL (array) requires array on right side
>>
>> I tried casting the character string to an array afterward:
>>
>> WHERE customerid = ANY($1::bytea);
>> which results in:
>> ERROR: cannot cast type character varying to bytea
>
> You meant array or bytea?
>
>
> neo=# select '{1, 2, 3}'::int[];
> int4
> ---------
> {1,2,3}
> (1 record)
>
> neo=#
>
>