Re: Re: Support plpgsql multi-range in conditional control

Поиск
Список
Период
Сортировка
От 2903807914@qq.com
Тема Re: Re: Support plpgsql multi-range in conditional control
Дата
Msg-id tencent_8C956CC3BC221A9C12B6C1F0A07165889308@qq.com
обсуждение исходный текст
Ответ на Support plpgsql multi-range in conditional control  ("2903807914@qq.com" <2903807914@qq.com>)
Ответы Re: Re: Support plpgsql multi-range in conditional control
Список pgsql-hackers
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 ] 

Thanks again!

songjinzhou (2903807914@qq.com)
 
Date: 2023-01-19 21:04
Subject: Re: Support plpgsql multi-range in conditional control
Hi


čt 19. 1. 2023 v 10:23 odesílatel 2903807914@qq.com <2903807914@qq.com> napsal:
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.

What use case it should to support?

Regards

Pavel
 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Aleksander Alekseev
Дата:
Сообщение: Re: HOT chain validation in verify_heapam()
Следующее
От: tushar
Дата:
Сообщение: Re: almost-super-user problems that we haven't fixed yet