如何理解page_state只能用于CQL分页中的SAME查询

时间:2018-10-12 08:01:41

标签: cassandra cassandra-3.0 cql3

在CQL3 v4的doc中,page_state仅可用于相同查询以获取下一页。

但是,QUERY由doc<query><query_parameters>组成。 <paging_state>中的至少<query_parameters>字段将被新值替换。那么如何分辨两个查询是相同的呢?

也许我的假设是<paging_state>对于所有下一个分页查询都是相同的。

1 个答案:

答案 0 :(得分:0)

没有2个查询将完全相同。每个连接流ID都有唯一的标识。可以在同一查询中返回在1个查询的响应中传递的分页状态,以调整查询的开始位置并跟踪要返回的结果数(基于第1个的限制)。请注意,分页状态是最后一个分区和返回的行,其数量返回当前分区内的剩余总数(两个字节数组,两个整数)。

驱动程序将不允许它-但是,如果您更改查询并从其他请求传递分页状态,则结果可能会很奇怪。尤其是如果分页状态来自具有不同架构的表,则在尝试比较键时可能会导致错误。