2010/9/28 Tom Lane <tgl@sss.pgh.pa.us>:
> Pavel Stehule <pavel.stehule@gmail.com> writes:
>> 2010/9/28 Tom Lane <tgl@sss.pgh.pa.us>:
>>> Sure it can: it could be a parenthesized top-level query. In fact,
>>> that's what plpgsql will assume if you feed it that syntax today.
>
>> no - there are not any legal construct FOR r IN (..)
>
> You are simply wrong, sir, and I suggest that you go read the SQL
> standard until you realize that. Consider for example
>
> for r in (SELECT ... FROM a UNION SELECT ... FROM b) INTERSECT (SELECT ... FROM c) LOOP ...
>
> The parentheses here are not merely legal, they are *necessary*, else
> the semantics of the UNION/INTERSECT operations change.
>
ok, then probably one variant is for-in-array array_expr. Is there agreement?
Regards
Pavel Stehule
> regards, tom lane
>