Как понять page_state можно использовать только для того же запроса в CQL Paging - PullRequest
0 голосов
/ 12 октября 2018

Из doc CQL3 v4, page_state может использоваться только для того же запроса для получения следующей страницы.

Однако QUERY состоит из <query> и <query_parameters>, также из doc .По крайней мере, поле <paging_state> в <query_parameters> будет заменено новым значением.Так как же сказать, что два запроса одинаковы?

Возможно, мое предположение неверно, что <paging_state> одинаков для всех следующих поисковых запросов.

1 Ответ

0 голосов
/ 12 октября 2018

Нет 2 запросов будет точно таким же.Каждый из них имеет уникальный идентификатор потока подключения.Состояние подкачки, переданное в ответе на 1 запрос, может быть возвращено в том же запросе, чтобы указать, где начинается запрос, и отследить, сколько результатов нужно вернуть (на основе предела 1-го).Обратите внимание, что состояние подкачки - это последний раздел и строка, возвращаемая с количеством для возврата оставшегося итога и внутри текущего раздела (два байтовых массива, два целых числа).

Драйвер этого не допустит, но если вы измените свой запрос ипередать состояние подкачки из другого запроса, это может привести к странным результатам.Особенно, если состояние подкачки было из таблицы с другой схемой, это может привести к ошибке при попытке сравнить ключи.

...