如何理解page_state只能用于CQL Paging中的SAME查询
How to understand page_state can only be used for SAME query in CQL Paging
从CQL3 v4的doc开始,page_state只能用于相同获取下一页的查询。
但是,QUERY 由 <query>
和 <query_parameters>
组成,也来自 doc。 <query_parameters>
中的至少 <paging_state>
字段将被替换为新值。那么如何判断两个查询相同呢?
也许我的假设是错误的,<paging_state>
对于所有下一个分页查询都是相同的。
没有两个查询会完全相同。每个连接流都有一个唯一的id。在 1 个查询的响应中向下传递的分页状态可以在同一个查询中 returned 以调整查询的开始位置并跟踪有多少结果 return(基于第一个限制)。请注意,分页状态是最后一个分区和行 returned,剩余总计 return 并且在当前分区内(两个字节数组,两个整数)。
驱动程序不会允许它 - 但如果您更改查询并从不同的请求传递分页状态,它可能会产生奇怪的结果。特别是如果分页状态来自具有不同架构的 table,则在尝试比较键时可能会导致错误。
从CQL3 v4的doc开始,page_state只能用于相同获取下一页的查询。
但是,QUERY 由 <query>
和 <query_parameters>
组成,也来自 doc。 <query_parameters>
中的至少 <paging_state>
字段将被替换为新值。那么如何判断两个查询相同呢?
也许我的假设是错误的,<paging_state>
对于所有下一个分页查询都是相同的。
没有两个查询会完全相同。每个连接流都有一个唯一的id。在 1 个查询的响应中向下传递的分页状态可以在同一个查询中 returned 以调整查询的开始位置并跟踪有多少结果 return(基于第一个限制)。请注意,分页状态是最后一个分区和行 returned,剩余总计 return 并且在当前分区内(两个字节数组,两个整数)。
驱动程序不会允许它 - 但如果您更改查询并从不同的请求传递分页状态,它可能会产生奇怪的结果。特别是如果分页状态来自具有不同架构的 table,则在尝试比较键时可能会导致错误。