On Fri, Dec 5, 2014 at 4:55 PM, Ian Harding <harding.ian@xxxxxxxxx> wrote:
I have a function that returns bigint[] and would like to be able to compare a bigint to the result.freeload=> select fn_descendents('trip'::varchar,61::bigint);
fn_descendents
-----------------------------------
{935,815,689,569,446,325,205,191}
(1 row)freeload=> select 935::bigint in (select fn_descendents('trip'::varchar,61::bigint));
ERROR: operator does not exist: bigint = bigint[]
LINE 1: select 935::bigint in (select fn_descendents('trip'::varchar...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.This is probably super obvious but I'm not getting it right now.Hmmm.. This works...
select array[935::bigint] <@ (select fn_descendents('trip'::varchar,61::bigint));
Still, why?