Eugen.Konkov@aldec.com wrote:
> FOR and WHILE results differ
> WHILE returns two rows
> but FOR returns only one.
> and it seems that FOR does not replanned on each entry to the FOR loop
> While docs says:
> 38.6.4. Looping Through Query Results
> ....
> This is like the previous form, except that the source query is
> specified as a string expression, which is evaluated and replanned on
> each entry to the FOR loop
>
You are confusing things. The statement above talks about FOR rec IN
EXECUTE query_string LOOP ... END LOOP. There is no WHILE.
When you're using WHILE, the EXECUTE is actually evaluated inside the
loop and not in the loop condition (that's why you're seeing another
iteration).
--
Euler Taveira de Oliveira
http://www.timbira.com/