Fail to search in array, produced by subquery - is it a bug? - Mailing list pgsql-hackers

From Dmitry Fefelov
Subject Fail to search in array, produced by subquery - is it a bug?
Date
Msg-id 201104271029.03301.fozzy@ac-sw.com
Whole thread Raw
Responses Re: Fail to search in array, produced by subquery - is it a bug?  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-hackers
With Postgres 8.4 query like 

SELECT * FROM core.tag_links ctl WHERE (ctl.tag_id = ANY (     SELECT array_agg(ct.id)        FROM core.tags ct
WHERE(LOWER(ct.tag) LIKE LOWER(('search tag')::text || '%') ESCAPE           E'\\')   ));
 

produces error:

ERROR:  operator does not exist: bigint = bigint[]
ROW 3:  WHERE (ctl.tag_id = ANY (                            ^
HINT:  No operator matches the given name and argument type(s). You might need 
to add explicit type casts.

Bith ct.id and ctl.tag_id - of type BIGINT.

Result of 

SELECT array_agg(ct.id)        FROM core.tags ct       WHERE (LOWER(ct.tag) LIKE LOWER(('search tag')::text || '%')
ESCAPE          E'\\');
 
                                                                        array_agg
                                                                                      
 

-----------------------------------------------------------------------------------------------------------------------------{54426,53600,54062,187207,187642,54395,53312,51912,128621,19203,6613,54462}
(1 row)

Should ANY (...)  and ALL (...) work when "..." is a subquery, returning 
single ARRAY field, or maybe  I misunderstood something?

Regards, 
Dmitry


pgsql-hackers by date:

Previous
From: Daniel Farina
Date:
Subject: Re: "stored procedures" - use cases?
Next
From: Andrew Dunstan
Date:
Subject: fixing INT64_FORMAT warnings on Mingw