Tom Lane wrote:
Mark Kirkwood <markir@xxxxxxxxxxxxxxx> writes:
SELECT ... FROM table WHERE ... ORDER BY id LIMIT 20;
Suppose this displays records for id 10000 -> 10020.
When the user hits next, and page saves id=10020 in the session state
and executes:
SELECT ... FROM table WHERE ... AND id > 10020 ORDER BY id LIMIT 20;
Clearly you have to be a little careful about whether to use '>' or '>='
depending on whether 'id' is unique or not (to continue using '>' in the
non unique case, you can just save and use all the members of the
primary key too).
This is actually fairly painful to get right for a multi-column key
at the moment. It'll be much easier once I finish up the
SQL-spec-row-comparison project.
Right, I think it was actually an Oracle 7.3 based web app (err...
showing age here...) that I used this technique on.
Cheers
Mark