Is it correct to say that a com.google.appengine.api.datastore.Cursor
simply stores an index position into a GAE Datastore index?
Are cursors durable? That is, can I store a cursor permanently and reuse it again and again knowing for sure that if it was pointing to 5000th position in the index, that's where it'll point forever?
What if the index shrinks to less than 5000 entries? Will using this cursor cause an error or simply return nothing?
For larger indexes (say 100,000 or more entries), can I first acquire cursors for every multiple-of-5000th position (say), store them and then use this set of cursors to do some work in a Map/Reduce manner?
I am actually using Objectify and not the DS directly, but AFAIK this will not affect the properties of Cursors vis-a-vis Indexes.