Re: Issues with generate_series using integer boundaries

Thom Brown <thom@linux.com>

From: Thom Brown <thom@linux.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PGSQL Mailing List <pgsql-general@postgresql.org>
Date: 2011-02-01T02:17:17Z
Lists: pgsql-hackers
On 1 February 2011 01:05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>> I've noticed that if I try to use generate_series to include the upper
>> boundary of int4, it never returns:
>
> I'll bet it's testing "currval > bound" without considering the
> possibility that incrementing currval caused an overflow wraparound.
> We fixed a similar problem years ago in plpgsql FOR-loops...

And here's another case:

SELECT x FROM generate_series(2147483643, 2147483644,5) AS a(x);

A step of 1 would work fine, but forcing it to exceed the boundary in
this way means it never returns.

-- 
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935