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



---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to