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.
regards, tom lane