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@xxxxxxxxxxx