Veo este patrón mucho.consultas paginadas/receta del iterador
en el servidor:
// Get a bounded number of results, along with a resume token to use
// for the next call. Successive calls yield a "weakly consistent" view of
// the underlying set that may or may not reflect concurrent updates.
public<T> String getObjects(
int maxObjects, String resumeToken, List<T> objectsToReturn);
en el cliente:
// An iterator wrapping repeated calls to getObjects(bufferSize, ...)
public<T> Iterator<T> getIterator(int bufferSize);
mayoría de los lugares rodar sus propias versiones de estos dos métodos, y las implementaciones son sorprendentemente difícil hacerlo bien. Hay muchos errores de bordes.
¿Existe una receta o biblioteca canónica para estas consultas?
(puede hacer algunas suposiciones simplificadoras para el almacenamiento del lado del servidor, por ejemplo, T tiene un orden natural).
no creo que esto si el dtrt la tabla se modifica simultáneamente, porque todos los desplazamientos posteriores serán inconsistentes. – ashm
En ese caso, debe pasar un parámetro adicional para el ID de dónde reanudar en lugar de usar el contador de página y el desplazamiento. La estructura del código no cambia. –