Re: BUG #6690: ALL and ANY array operators - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #6690: ALL and ANY array operators
Date
Msg-id 29012.1339778125@sss.pgh.pa.us
Whole thread Raw
In response to BUG #6690: ALL and ANY array operators  (sergey-1987@yandex.ru)
List pgsql-bugs
sergey-1987@yandex.ru writes:
> As I see in documentation,
> http://www.postgresql.org/docs/current/static/functions-aggregate.html there
> is an ambiguity with bool_or aggregate and ANY array operator, so bool_or
> cannot has standard name ANY. So ANY should always mean array operator. But
> such query produces syntax error:

> select 1 = ANY((select ARRAY[1, 2]::integer[]))

Yes.  Do it like this instead:

select 1 = ANY(ARRAY[1, 2]::integer[]);

If the argument of ANY is a sub-select, the interpretation is to compare
the left-hand value to each row of the sub-select's output.  This isn't
terribly consistent perhaps, but it's what's required by the SQL
standard.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Philippe BEAUDOIN
Date:
Subject: Re: BUG #6694: 9.2 beta 2 : psql commands \db and \db+ fail
Next
From: Daniele Varrazzo
Date:
Subject: Can't move extension out of pg_catalog