On Jun17, 2011, at 18:00 , Robert Haas wrote:
> On Fri, Jun 17, 2011 at 11:46 AM, Alvaro Herrera
> <alvherre@commandprompt.com> wrote:
>> I guess this wouldn't be much of a problem if you could use ANY/ALL with
>> a function instead of an operator, c.f. map().
>
> Yeah. Or really what you want is a lambda-expression, rather than a
> predefined function.
>
> fold(bool_and, map { val ~ $0 } array)
Yeah, to bad we can't just write SELECT BOOL_AND(val ~ e) FROM UNNEST(array)
Hey...wait a minute... ;-)
(I guess you actually meant fold(bool_and, map { val ~ $0 } array)
which the equivalent sub-select SELECT BOOL_AND(e ~ val) FROM UNNEST(array))
Still, you can't put that into a CHECK constraint (because it
counts as sub-select) and it's considerable longer and harder
to read then val = ANY(array)
best regards,
Florian Pflug