I've thought a bit about how we can make the pagination more flexible for diverse usecases, and I'm sure people want to handle possible errors differently, so I suggest we go with something á la the following to make that possible:
The pagination becomes an asynchronous iterator over Result<Vec<TableRow>, BQError>. People are then able to stream through very large results without exhausting memory, and can use collect and flatten to imitate the previous implementation.
I've thought a bit about how we can make the pagination more flexible for diverse usecases, and I'm sure people want to handle possible errors differently, so I suggest we go with something á la the following to make that possible:
The pagination becomes an asynchronous iterator over
Result<Vec<TableRow>, BQError>
. People are then able to stream through very large results without exhausting memory, and can usecollect
andflatten
to imitate the previous implementation.