> I see you're point, but nobody is going to be interested in the first 2
> billion rows of a table without using a cursor and having some other
> process do the math in the background.
You have the same problem:
test=# begin;
BEGIN
test=# declare c cursor for select * from a;
DECLARE CURSOR
test=# move 2147483647 in c;
MOVE 0
test=# move 2147483648 in c;
ERROR: syntax error at or near "2147483648" at character 6
test=#
test=# fetch absolute 2147483648 in c;
ERROR: syntax error at or near "2147483648" at character 16
test=# fetch relative 2147483648 in c;
ERROR: syntax error at or near "2147483648" at character 16
> That said, perhaps the TODO for changing LIMIT / OFFSET to be expression
> based should also mention bumping them to int8.
It is fairly hypothetical, but there are some people starting to put
some rather large databases in Postgres these days. Shouldn't it at
least be an unsigned integer?
Chris