Hello, thank you very much for your reply. But I think you may have misunderstood what we have done.
What we do this time is that we can use multiple range ranges (condition_iterator) after in. Previously, we can only use such an interval [lower, upper] after in, but in some scenarios, we may need a list: condition_ iterator[,condition_iterator ...]
condition_iterator:
[ REVERSE ] expression .. expression [ BY expression ]
then you can use second outer for over an array or just while cycle
Dear hackers, my good friend Hou Jiaxing and I have implemented a version of the code that supports multiple integer range conditions in the in condition control of the for loop statement in the plpgsql procedural language. A typical example is as follows:
postgres=# do $$
declare
i int := 10;
begin
for i in 1..10 by 3, reverse i+10..i+1 by 3 loop
raise info '%', i;
end loop;
end $$;
INFO: 1
INFO: 4
INFO: 7
INFO: 10
INFO: 20
INFO: 17
INFO: 14
INFO: 11
do
postgres=#
Hope to get your feedback, thank you!
I don't like it. The original design of ADA language is to be a safe and simple language. Proposed design is in 100% inversion.