From: Clint Byrum [cl...@fewbar.com]
> Pretty sure one could count the batches one time and assign page numbers
> to them as they're seen in a cache, rather than materializing a whole
> result set.

If you're ok with a variable page size, or the possibility of missing records as
you page, you could do that. However, when you order by something that can
change as you page, you either need to materialize it so that you don't have
records changing page, or be ok with the possibility of missing records.
There's no need to materialize every column in the result set, just the ID and 
data
it's been ordered by.

Example: Ordering by priority. Record X changes priority and moves from the
third page from the first. You go from the second to third, and miss it. Now
the third page does not end on the marker that the fourth page is marked
as starting at. So you either see pages 3 and 4 as different lengths, or see
a duplicated record, and still miss out on record X.

Now, that might not be a problem! But some of the goals of marker based paging 
were
supposed to be that you don't miss out on any records or see duplicates, yes?
As soon as you start ordering by data that can change and you don't materialize
that data, you don't meet those goals.

Cheers,
Mike

_______________________________________________
OpenStack-Infra mailing list
OpenStack-Infra@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

_______________________________________________
OpenStack-Infra mailing list
OpenStack-Infra@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Reply via email to