Sorry to revive this old question, but I have a solution to this problem, given a few limitations with possible workarounds. Basically, cursors for previous pages can be saved and reused to re-view this page.
Limitations:
This requires that paging is performed dynamically (for example, using Javascript) so that old cursors are not lost. Workaround if pagination is done via html pages, cursors should be passed together.
Users will not be able to arbitrarily select the front page and will only receive next / back buttons. Although it was easy to jump to any previously visited page. A workaround may be to iterate internally and discard records when creating cursors at dotted points until the desired results are finally achieved. Then return the list of previous page cursors.
All this requires a lot of additional bookkeeping and complexity, which almost makes the decision purely academic, but I believe that this will depend on how much more efficient the cursors are than just the restriction / offset. This may be appropriate if your data is such that you do not expect your users to want to go to more than one page at a time (including most types of requests).
source share