On Fri, Dec 5, 2014 at 4:55 PM, Ian Harding <harding....@gmail.com> 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?