Search Postgresql Archives

Re: FOR integer loop bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux