Re: FOR integer loop bug?
От | Adrian Klaver |
---|---|
Тема | Re: FOR integer loop bug? |
Дата | |
Msg-id | efd5f71b-93f4-3d49-7a6d-43a6cf509659@aklaver.com обсуждение исходный текст |
Ответ на | Re: FOR integer loop bug? (Ron <ronljohnsonjr@gmail.com>) |
Список | pgsql-general |
On 4/8/22 11:23, Ron wrote: > On 4/8/22 13:07, Adrian Klaver wrote: >> Hmm, I'm going to have to think on this. > > The only thinking is: "That's a bug waiting to happen!" > That was my first inclination. From here: https://www.postgresql.org/docs/current/plpgsql-control-structures.html#PLPGSQL-CONTROL-STRUCTURES-LOOPS FOR name IN [ REVERSE ] expression .. expression [ BY expression ] LOOP So: CREATE OR REPLACE FUNCTION for_loop_test() RETURNS void LANGUAGE plpgsql AS $function$ BEGIN FOR i IN 1..(2/3.0) LOOP RAISE NOTICE '%', i; END LOOP; END; select for_loop_test(); NOTICE: 1 for_loop_test --------------- Because: select (2/3.0)::int; int4 ------ 1 I find the result from this 1...10 surprising, however I have to believe there is code counting on the equivalent of (2/3.0) working. -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: