You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by ja...@legtux.org on 2019/10/31 17:42:19 UTC

what happened to a pagination if some data are inserted before it get resumed ?

Hi,

 what would happen If between the moment I save a paging state and the moment I resume it, some data have been added to the database ?

for example, let say I do a query which return 100 results paged by 10 rows. I get my first page, i.e, my first 10 elements.
Then, let say that before I ask to get the second page, some data were added to what was my first page, some to the second etc.

what will I see when I resume the pagination ? will I get the results as if nothing was added to the database, or am I going to see on my second page some results that was pushed out of the first page ?
in my case we using the python driver our code use the same functions that the following example, class Items(Model):
 id = columns.Text(primary_key=True)
 data = columns.Bytes()

query = Items.objects.all().limit(10)

first_page = list(query);
last = first_page[-1]
next_page = list(query.filter(pk__token__gt=cqlengine.Token(last.pk))) source: https://docs.datastax.com/en/developer/python-driver/3.20/cqlengine/queryset/ (https://docs.datastax.com/en/developer/python-driver/3.20/cqlengine/queryset/)

there is another way to store the pagination than storing the token ? (if I showing the example and asking that it's because I have the feeling there is two ways to use the python driver. the one using function like filter, and another one where we send a query as we would have written in cqlsh)

regards,
Nicolas Jäger