@azure/cosmos 4.8.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/dist/browser/common/constants.d.ts.map +1 -1
  2. package/dist/browser/common/constants.js +16 -1
  3. package/dist/browser/common/constants.js.map +1 -1
  4. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  5. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  6. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  7. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  8. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  9. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  10. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  11. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  12. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  13. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  14. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  15. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  16. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  17. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  18. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  19. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  20. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  21. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  22. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  23. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  24. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  25. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  26. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  27. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  28. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  29. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  30. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  31. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  32. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  33. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  34. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
  35. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  36. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  37. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  38. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  39. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  40. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  41. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  42. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  43. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  44. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  45. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  46. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  47. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  48. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  49. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  50. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  51. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  52. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  53. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  54. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  55. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  56. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  57. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  58. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  59. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  60. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  61. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  62. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  63. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  64. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  65. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  66. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  67. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  68. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
  69. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  70. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  71. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  72. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
  73. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  74. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  75. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  76. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  77. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  78. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  79. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  80. package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
  81. package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  82. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  83. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  84. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  85. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  86. package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
  87. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  88. package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
  89. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  90. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  91. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  92. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  93. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  94. package/dist/browser/queryExecutionContext/index.d.ts +7 -0
  95. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  96. package/dist/browser/queryExecutionContext/index.js +4 -0
  97. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  98. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  99. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  100. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  101. package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
  102. package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  103. package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
  104. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  105. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  106. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  107. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  108. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  109. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  110. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  111. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  112. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  113. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  114. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  115. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  116. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  117. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  118. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  119. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  120. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  121. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  122. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  123. package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
  124. package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
  125. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  126. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  127. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  128. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  130. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  131. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  132. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  133. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  134. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  135. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  136. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  137. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  138. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  139. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  140. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  141. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  142. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  143. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  144. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  145. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  146. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  147. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  148. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  149. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  150. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  151. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  152. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  153. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  154. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  155. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  156. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  157. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  158. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  159. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  160. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  161. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  162. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  163. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  164. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  165. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  166. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  167. package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
  168. package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
  169. package/dist/browser/queryIterator.js.map +1 -1
  170. package/dist/browser/utils/offers.d.ts.map +1 -1
  171. package/dist/browser/utils/offers.js +0 -1
  172. package/dist/browser/utils/offers.js.map +1 -1
  173. package/dist/commonjs/common/constants.d.ts.map +1 -1
  174. package/dist/commonjs/common/constants.js +13 -2
  175. package/dist/commonjs/common/constants.js.map +1 -1
  176. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  177. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  178. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  179. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  180. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  181. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  182. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  183. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  184. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  185. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  186. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  187. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  188. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  189. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  190. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  191. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  192. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  193. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  194. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  195. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  196. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  197. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  198. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  199. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  200. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  201. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  202. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  203. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  204. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  205. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  206. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  207. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  208. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  209. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  210. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  211. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  212. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  213. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  214. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  215. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  216. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  217. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  218. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  219. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  220. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  221. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  222. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  223. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  224. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  225. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  226. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  227. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  228. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  229. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  230. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  231. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  232. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  233. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  234. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  235. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  236. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  237. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  238. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  239. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  240. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  241. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  242. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  243. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  244. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  245. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  246. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  247. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  248. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  249. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  250. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  251. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  252. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  253. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  254. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  255. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  256. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  257. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  258. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  259. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  260. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  261. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  262. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  263. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  264. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  265. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  266. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  267. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  269. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  271. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  272. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  274. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  275. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  276. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  278. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  280. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  281. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  282. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  283. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  284. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  285. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  286. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  287. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  288. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  289. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  290. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  291. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  292. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  293. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  294. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  295. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  296. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  297. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  298. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  299. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  300. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  301. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  302. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  303. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  304. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  305. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  306. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  307. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  308. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  309. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  310. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  311. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  312. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  313. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  314. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  315. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  316. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  317. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  318. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  319. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  320. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  321. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  322. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  323. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  324. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  325. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  326. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  327. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  328. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  329. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  330. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  331. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  332. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  333. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  334. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  335. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  336. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  337. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  338. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  339. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  340. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  341. package/dist/commonjs/queryIterator.js.map +1 -1
  342. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  343. package/dist/commonjs/utils/offers.js +0 -1
  344. package/dist/commonjs/utils/offers.js.map +1 -1
  345. package/dist/esm/common/constants.d.ts.map +1 -1
  346. package/dist/esm/common/constants.js +16 -1
  347. package/dist/esm/common/constants.js.map +1 -1
  348. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  349. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  350. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  351. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  352. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  353. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  354. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  355. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  356. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  357. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  358. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  359. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  360. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  361. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  362. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  363. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  364. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  365. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  366. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  367. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  368. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  369. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  370. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  371. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  372. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  373. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  374. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  375. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  376. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  377. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  378. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  379. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  380. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  381. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  382. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  383. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  384. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  385. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  386. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  387. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  388. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  389. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  390. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  391. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  392. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  393. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  394. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  395. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  396. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  397. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  398. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  399. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  400. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  401. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  402. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  403. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  404. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  405. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  406. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  407. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  408. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  409. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  410. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  411. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  412. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  413. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  414. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  415. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  416. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  417. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  418. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  419. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  420. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  421. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  422. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  423. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  424. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  425. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  426. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  427. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  428. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  429. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  430. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  431. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  432. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  433. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  434. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  435. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  436. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  437. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  438. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  439. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  440. package/dist/esm/queryExecutionContext/index.js +4 -0
  441. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  442. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  443. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  444. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  445. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  446. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  447. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  448. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  449. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  450. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  451. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  452. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  453. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  454. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  455. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  456. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  457. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  458. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  459. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  460. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  461. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  462. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  463. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  464. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  465. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  466. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  467. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  468. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  469. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  470. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  471. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  472. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  473. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  474. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  475. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  476. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  477. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  478. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  479. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  480. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  481. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  482. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  483. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  484. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  485. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  486. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  487. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  488. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  489. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  490. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  491. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  492. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  493. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  494. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  495. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  496. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  497. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  498. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  499. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  500. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  501. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  502. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  503. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  504. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  505. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  506. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  507. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  508. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  509. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  510. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  511. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  512. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  513. package/dist/esm/queryIterator.js.map +1 -1
  514. package/dist/esm/utils/offers.d.ts.map +1 -1
  515. package/dist/esm/utils/offers.js +0 -1
  516. package/dist/esm/utils/offers.js.map +1 -1
  517. package/dist/react-native/common/constants.d.ts.map +1 -1
  518. package/dist/react-native/common/constants.js +16 -1
  519. package/dist/react-native/common/constants.js.map +1 -1
  520. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  521. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  522. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  523. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  524. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  525. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  526. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  527. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  528. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  529. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  530. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  531. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  532. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  533. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  534. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  535. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  536. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  537. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  538. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  539. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  540. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  541. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  542. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  543. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  544. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  545. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  546. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  547. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  548. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  549. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  550. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  551. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  552. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  553. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  554. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  555. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  556. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  557. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  558. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  559. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  560. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  561. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  562. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  563. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  564. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  565. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  566. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  567. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  568. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  569. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  570. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  571. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  572. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  573. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  574. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  575. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  576. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  577. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  578. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  579. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  580. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  581. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  582. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  583. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  584. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  585. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  586. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  587. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  588. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  589. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  590. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  591. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  592. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  593. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  594. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  595. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  596. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  597. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  598. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  599. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  600. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  601. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  602. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  603. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  604. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  605. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  606. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  607. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  608. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  609. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  610. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  611. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  612. package/dist/react-native/queryExecutionContext/index.js +4 -0
  613. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  614. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  615. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  616. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  617. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  618. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  619. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  620. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  621. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  622. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  623. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  624. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  625. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  626. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  627. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  628. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  629. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  630. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  631. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  632. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  633. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  634. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  635. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  636. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  637. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  638. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  639. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  640. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  641. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  642. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  643. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  644. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  645. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  646. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  647. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  648. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  649. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  650. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  651. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  652. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  653. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  654. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  655. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  656. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  657. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  658. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  659. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  660. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  661. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  662. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  663. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  664. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  665. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  666. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  667. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  668. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  669. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  670. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  671. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  672. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  673. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  674. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  675. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  676. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  677. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  678. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  679. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  680. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  681. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  682. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  683. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  684. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  685. package/dist/react-native/queryIterator.js.map +1 -1
  686. package/dist/react-native/utils/offers.d.ts.map +1 -1
  687. package/dist/react-native/utils/offers.js +0 -1
  688. package/dist/react-native/utils/offers.js.map +1 -1
  689. package/package.json +1 -1
@@ -2,15 +2,15 @@
2
2
  // Licensed under the MIT License.
3
3
  import PriorityQueue from "priorityqueuejs";
4
4
  import semaphore from "semaphore";
5
- import { createClientLogger } from "@azure/logger";
6
5
  import { StatusCodes, SubStatusCodes } from "../common/statusCodes.js";
6
+ import { ErrorResponse } from "../request/ErrorResponse.js";
7
7
  import { QueryRange } from "../routing/QueryRange.js";
8
8
  import { SmartRoutingMapProvider } from "../routing/smartRoutingMapProvider.js";
9
9
  import { DocumentProducer } from "./documentProducer.js";
10
10
  import { getInitialHeader, mergeHeaders } from "./headerUtils.js";
11
+ import { RidSkipCountFilter } from "./queryFilteringStrategy/RidSkipCountFilter.js";
11
12
  import { DiagnosticNodeInternal, DiagnosticNodeType, } from "../diagnostics/DiagnosticNodeInternal.js";
12
- /** @hidden */
13
- const logger = createClientLogger("parallelQueryExecutionContextBase");
13
+ import { createParallelQueryResult } from "./parallelQueryResult.js";
14
14
  /** @hidden */
15
15
  export var ParallelQueryExecutionContextBaseStates;
16
16
  (function (ParallelQueryExecutionContextBaseStates) {
@@ -26,17 +26,22 @@ export class ParallelQueryExecutionContextBase {
26
26
  options;
27
27
  partitionedQueryExecutionInfo;
28
28
  correlatedActivityId;
29
+ rangeManager;
30
+ queryProcessingStrategy;
31
+ documentProducerComparator;
29
32
  err;
30
33
  state;
31
34
  static STATES = ParallelQueryExecutionContextBaseStates;
32
35
  routingProvider;
33
- sortOrders;
34
36
  requestContinuation;
35
37
  respHeaders;
36
38
  unfilledDocumentProducersQueue;
37
39
  bufferedDocumentProducersQueue;
38
40
  // TODO: update type of buffer from any --> generic can be used here
39
41
  buffer;
42
+ partitionDataPatchMap = new Map();
43
+ patchCounter = 0;
44
+ updatedContinuationRanges = new Map();
40
45
  sem;
41
46
  diagnosticNodeWrapper;
42
47
  /**
@@ -52,13 +57,16 @@ export class ParallelQueryExecutionContextBase {
52
57
  * @param partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo
53
58
  * @hidden
54
59
  */
55
- constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId) {
60
+ constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId, rangeManager, queryProcessingStrategy, documentProducerComparator) {
56
61
  this.clientContext = clientContext;
57
62
  this.collectionLink = collectionLink;
58
63
  this.query = query;
59
64
  this.options = options;
60
65
  this.partitionedQueryExecutionInfo = partitionedQueryExecutionInfo;
61
66
  this.correlatedActivityId = correlatedActivityId;
67
+ this.rangeManager = rangeManager;
68
+ this.queryProcessingStrategy = queryProcessingStrategy;
69
+ this.documentProducerComparator = documentProducerComparator;
62
70
  this.clientContext = clientContext;
63
71
  this.collectionLink = collectionLink;
64
72
  this.query = query;
@@ -73,64 +81,377 @@ export class ParallelQueryExecutionContextBase {
73
81
  this.err = undefined;
74
82
  this.state = ParallelQueryExecutionContextBase.STATES.started;
75
83
  this.routingProvider = new SmartRoutingMapProvider(this.clientContext);
76
- this.sortOrders = this.partitionedQueryExecutionInfo.queryInfo.orderBy;
77
84
  this.buffer = [];
78
- this.requestContinuation = options ? options.continuationToken || options.continuation : null;
85
+ this.requestContinuation = options
86
+ ? options.continuationToken || options.continuation
87
+ : undefined;
88
+ // Validate continuation token usage immediately
89
+ if (this.requestContinuation && !this.options.enableQueryControl) {
90
+ throw new Error("Continuation tokens are supported when enableQueryControl is set true in FeedOptions");
91
+ }
79
92
  // response headers of undergoing operation
80
93
  this.respHeaders = getInitialHeader();
81
94
  // Make priority queue for documentProducers
82
- this.unfilledDocumentProducersQueue = new PriorityQueue((a, b) => a.generation - b.generation);
83
- // The comparator is supplied by the derived class
95
+ this.unfilledDocumentProducersQueue = new PriorityQueue((a, b) => this.compareDocumentProducersByRange(a, b));
84
96
  this.bufferedDocumentProducersQueue = new PriorityQueue((a, b) => this.documentProducerComparator(b, a));
85
97
  // Creating the documentProducers
86
98
  this.sem = semaphore(1);
87
- const createDocumentProducersAndFillUpPriorityQueueFunc = async () => {
88
- // ensure the lock is released after finishing up
99
+ this.sem.take(() => this._initializeDocumentProducers());
100
+ }
101
+ /**
102
+ * Determine if there are still remaining resources to processs based on the value of the continuation
103
+ * token or the elements remaining on the current batch in the QueryIterator.
104
+ * @returns true if there is other elements to process in the ParallelQueryExecutionContextBase.
105
+ */
106
+ hasMoreResults() {
107
+ return (!this.err &&
108
+ (this.buffer.length > 0 || this.state !== ParallelQueryExecutionContextBase.STATES.ended));
109
+ }
110
+ /**
111
+ * Fetches more results from the query execution context.
112
+ * @param diagnosticNode - Optional diagnostic node for tracing.
113
+ * @returns A promise that resolves to the fetched results.
114
+ * @hidden
115
+ */
116
+ async fetchMore(diagnosticNode) {
117
+ await this.bufferDocumentProducers(diagnosticNode);
118
+ await this.fillBufferFromBufferQueue();
119
+ return this.drainBufferedItems();
120
+ }
121
+ /**
122
+ * Processes buffered document producers
123
+ * @returns A promise that resolves when processing is complete.
124
+ */
125
+ async processBufferedDocumentProducers() {
126
+ while (this.hasBufferedProducers() &&
127
+ this.shouldProcessBufferedProducers(this.isUnfilledQueueEmpty())) {
128
+ const producer = this.getNextBufferedProducer();
129
+ if (!producer)
130
+ break;
131
+ await this.processDocumentProducer(producer);
132
+ }
133
+ }
134
+ /**
135
+ * Processes a single document producer using template method pattern.
136
+ * Common structure with query-specific processing delegated to subclasses.
137
+ */
138
+ async processDocumentProducer(producer) {
139
+ const response = await this.fetchFromProducer(producer);
140
+ this._mergeWithActiveResponseHeaders(response.headers);
141
+ if (response.result) {
142
+ this.addToBuffer(response.result);
143
+ this.handlePartitionMapping(producer, response.result);
144
+ }
145
+ // Handle producer lifecycle
146
+ if (producer.peakNextItem() !== undefined) {
147
+ this.requeueProducer(producer);
148
+ }
149
+ else if (producer.hasMoreResults()) {
150
+ this.moveToUnfilledQueue(producer);
151
+ }
152
+ }
153
+ /**
154
+ * Handles partition mapping updates - implemented in base class using template method pattern.
155
+ * Child classes provide query-specific parameters through abstract methods.
156
+ */
157
+ handlePartitionMapping(producer, result) {
158
+ const itemCount = result?.length || 0;
159
+ const continuationToken = this.getContinuationToken(producer);
160
+ const mapping = {
161
+ itemCount,
162
+ partitionKeyRange: producer.targetPartitionKeyRange,
163
+ continuationToken,
164
+ };
165
+ this.updatePartitionMapping(mapping);
166
+ }
167
+ /**
168
+ * Gets the continuation token to use - implemented by subclasses.
169
+ */
170
+ getContinuationToken(producer) {
171
+ const hasMoreBufferedItems = producer.peakNextItem() !== undefined;
172
+ return hasMoreBufferedItems ? producer.previousContinuationToken : producer.continuationToken;
173
+ }
174
+ /**
175
+ * Updates partition mapping - creates new entry or merges with existing for ORDER BY queries.
176
+ */
177
+ updatePartitionMapping(mapping) {
178
+ const currentPatch = this.partitionDataPatchMap.get(this.patchCounter.toString());
179
+ const isSamePartition = currentPatch?.partitionKeyRange?.id === mapping.partitionKeyRange.id;
180
+ if (isSamePartition && currentPatch) {
181
+ currentPatch.itemCount += mapping.itemCount;
182
+ currentPatch.continuationToken = mapping.continuationToken;
183
+ return;
184
+ }
185
+ // Create new partition mapping entry
186
+ this.partitionDataPatchMap.set((++this.patchCounter).toString(), mapping);
187
+ }
188
+ /**
189
+ * Checks if the unfilled queue is empty (used by ORDER BY for processing control).
190
+ */
191
+ isUnfilledQueueEmpty() {
192
+ return this.unfilledDocumentProducersQueue.size() === 0;
193
+ }
194
+ /**
195
+ * Initializes document producers and fills the priority queue.
196
+ * Handles both continuation token and fresh query scenarios.
197
+ */
198
+ async _initializeDocumentProducers() {
199
+ try {
200
+ const targetPartitionRanges = await this._onTargetPartitionRanges();
201
+ const documentProducers = this.requestContinuation
202
+ ? await this._createDocumentProducersFromContinuation(targetPartitionRanges)
203
+ : this._createDocumentProducersFromFresh(targetPartitionRanges);
204
+ // Fill up our priority queue with documentProducers
205
+ this._enqueueDocumentProducers(documentProducers);
206
+ this.sem.leave();
207
+ }
208
+ catch (err) {
209
+ this.err = err;
210
+ this.sem.leave();
211
+ }
212
+ }
213
+ /**
214
+ * Creates document producers from continuation token scenario.
215
+ */
216
+ async _createDocumentProducersFromContinuation(targetPartitionRanges) {
217
+ // Parse continuation token to get range mappings and check for split/merge scenarios
218
+ const parsedToken = this._parseContinuationToken(this.requestContinuation);
219
+ const continuationRanges = await this._handlePartitionRangeChanges(parsedToken);
220
+ // Use strategy to create additional query info from parsed token
221
+ const additionalQueryInfo = this.queryProcessingStrategy.createAdditionalQueryInfo(parsedToken);
222
+ const filterResult = this.rangeManager.filterPartitionRanges(targetPartitionRanges, continuationRanges, additionalQueryInfo);
223
+ // Extract ranges and tokens from the combined result
224
+ const rangeTokenPairs = filterResult.rangeTokenPairs;
225
+ // Use strategy to create filter context for continuation token processing
226
+ const filterContext = this.queryProcessingStrategy.createFilterContext(parsedToken);
227
+ return rangeTokenPairs.map((rangeTokenPair) => this._createDocumentProducerFromRangeTokenPair(rangeTokenPair, continuationRanges, filterContext));
228
+ }
229
+ /**
230
+ * Creates document producers from fresh query scenario (no continuation token).
231
+ */
232
+ _createDocumentProducersFromFresh(targetPartitionRanges) {
233
+ return targetPartitionRanges.map((partitionTargetRange) => this._createTargetPartitionQueryExecutionContext(partitionTargetRange, undefined));
234
+ }
235
+ /**
236
+ * Creates a document producer from a range token pair (continuation token scenario).
237
+ */
238
+ _createDocumentProducerFromRangeTokenPair(rangeTokenPair, continuationRanges, filterContext) {
239
+ const partitionTargetRange = rangeTokenPair.range;
240
+ const continuationToken = rangeTokenPair.continuationToken;
241
+ const filterCondition = rangeTokenPair.filteringCondition || undefined;
242
+ // Find EPK ranges for this partition range from processed continuation response
243
+ const matchingContinuationRange = continuationRanges.find((cr) => cr.range.id === partitionTargetRange.id);
244
+ const startEpk = matchingContinuationRange?.epkMin;
245
+ const endEpk = matchingContinuationRange?.epkMax;
246
+ // Use strategy to determine partition-specific filter context
247
+ const targetPartitionId = continuationRanges.length > 0 && continuationRanges[continuationRanges.length - 1].range
248
+ ? continuationRanges[continuationRanges.length - 1].range.id
249
+ : undefined;
250
+ const partitionFilterContext = this.queryProcessingStrategy.getPartitionFilterContext(filterContext, targetPartitionId, partitionTargetRange.id);
251
+ return this._createTargetPartitionQueryExecutionContext(partitionTargetRange, continuationToken, startEpk, endEpk, !!(startEpk && endEpk), // populateEpkRangeHeaders - true if both EPK values are present
252
+ filterCondition, partitionFilterContext);
253
+ }
254
+ /**
255
+ * Enqueues document producers into the unfilled queue.
256
+ */
257
+ _enqueueDocumentProducers(documentProducers) {
258
+ documentProducers.forEach((documentProducer) => {
89
259
  try {
90
- const targetPartitionRanges = await this._onTargetPartitionRanges();
91
- const maxDegreeOfParallelism = options.maxDegreeOfParallelism === undefined || options.maxDegreeOfParallelism < 1
92
- ? targetPartitionRanges.length
93
- : Math.min(options.maxDegreeOfParallelism, targetPartitionRanges.length);
94
- logger.info("Query starting against " +
95
- targetPartitionRanges.length +
96
- " ranges with parallelism of " +
97
- maxDegreeOfParallelism);
98
- let filteredPartitionKeyRanges = [];
99
- // The document producers generated from filteredPartitionKeyRanges
100
- const targetPartitionQueryExecutionContextList = [];
101
- if (this.requestContinuation) {
102
- throw new Error("Continuation tokens are not yet supported for cross partition queries");
260
+ this.unfilledDocumentProducersQueue.enq(documentProducer);
261
+ }
262
+ catch (e) {
263
+ this.err = e;
264
+ }
265
+ });
266
+ }
267
+ /**
268
+ * Checks if there are buffered document producers ready for processing.
269
+ * Encapsulates queue size checking.
270
+ */
271
+ hasBufferedProducers() {
272
+ return this.bufferedDocumentProducersQueue.size() > 0;
273
+ }
274
+ /**
275
+ * Gets the next buffered document producer for processing.
276
+ * Encapsulates queue dequeuing logic.
277
+ */
278
+ getNextBufferedProducer() {
279
+ if (this.bufferedDocumentProducersQueue.size() > 0) {
280
+ return this.bufferedDocumentProducersQueue.deq();
281
+ }
282
+ return undefined;
283
+ }
284
+ /**
285
+ * Adds items to the result buffer. Handles both single items and arrays.
286
+ */
287
+ addToBuffer(items) {
288
+ if (Array.isArray(items)) {
289
+ if (items.length > 0) {
290
+ this.buffer.push(...items);
291
+ }
292
+ }
293
+ else if (items) {
294
+ this.buffer.push(items);
295
+ }
296
+ }
297
+ /**
298
+ * Moves a producer to the unfilled queue for later processing.
299
+ */
300
+ moveToUnfilledQueue(producer) {
301
+ this.unfilledDocumentProducersQueue.enq(producer);
302
+ }
303
+ /**
304
+ * Re-queues a producer to the buffered queue for further processing.
305
+ */
306
+ requeueProducer(producer) {
307
+ this.bufferedDocumentProducersQueue.enq(producer);
308
+ }
309
+ /**
310
+ * Compares two document producers based on their partition key ranges and EPK values.
311
+ * Primary comparison: minInclusive values for left-to-right range traversal
312
+ * Secondary comparison: EPK ranges when minInclusive values are identical
313
+ * @param a - First document producer
314
+ * @param b - Second document producer
315
+ * @returns Comparison result for priority queue ordering
316
+ * @hidden
317
+ */
318
+ compareDocumentProducersByRange(a, b) {
319
+ const aMinInclusive = a.targetPartitionKeyRange.minInclusive;
320
+ const bMinInclusive = b.targetPartitionKeyRange.minInclusive;
321
+ const minInclusiveComparison = bMinInclusive.localeCompare(aMinInclusive);
322
+ // If minInclusive values are the same, check minEPK ranges if they exist
323
+ if (minInclusiveComparison === 0) {
324
+ const aMinEpk = a.startEpk;
325
+ const bMinEpk = b.startEpk;
326
+ if (aMinEpk && bMinEpk) {
327
+ return bMinEpk.localeCompare(aMinEpk);
328
+ }
329
+ }
330
+ return minInclusiveComparison;
331
+ }
332
+ /**
333
+ * Detects partition splits/merges by analyzing parsed continuation token ranges and comparing with current topology
334
+ * @param parsed - The continuation token containing range mappings to analyze
335
+ * @returns Array of processed ranges with EPK info
336
+ */
337
+ async _handlePartitionRangeChanges(parsed) {
338
+ const processedRanges = [];
339
+ // Extract range mappings from the already parsed token
340
+ const rangeMappings = parsed.rangeMappings;
341
+ if (!rangeMappings || rangeMappings.length === 0) {
342
+ return [];
343
+ }
344
+ // Check each range mapping for potential splits/merges
345
+ for (const rangeWithToken of rangeMappings) {
346
+ // Create a new QueryRange instance from the simplified range data
347
+ const range = rangeWithToken.queryRange;
348
+ const queryRange = new QueryRange(range.min, range.max, true, // isMinInclusive - assumption: always true
349
+ false);
350
+ const rangeMin = queryRange.min;
351
+ const rangeMax = queryRange.max;
352
+ // Get current overlapping ranges for this continuation token range
353
+ const overlappingRanges = await this.routingProvider.getOverlappingRanges(this.collectionLink, [queryRange], this.getDiagnosticNode());
354
+ // Detect split/merge scenario based on the number of overlapping ranges
355
+ if (overlappingRanges.length === 0) {
356
+ continue;
357
+ }
358
+ else if (overlappingRanges.length === 1) {
359
+ // Check if it's the same range (no change) or a merge scenario
360
+ const currentRange = overlappingRanges[0];
361
+ if (currentRange.minInclusive !== rangeMin || currentRange.maxExclusive !== rangeMax) {
362
+ // Merge scenario - include EPK ranges from original continuation token range
363
+ await this._handleContinuationTokenMerge(rangeWithToken, currentRange);
364
+ processedRanges.push({
365
+ range: currentRange,
366
+ continuationToken: rangeWithToken.continuationToken,
367
+ epkMin: rangeMin, // Original range min becomes EPK min
368
+ epkMax: rangeMax, // Original range max becomes EPK max
369
+ });
103
370
  }
104
371
  else {
105
- filteredPartitionKeyRanges = targetPartitionRanges;
372
+ // Same range - no merge, no EPK ranges needed
373
+ processedRanges.push({
374
+ range: currentRange,
375
+ continuationToken: rangeWithToken.continuationToken,
376
+ });
106
377
  }
107
- // Create one documentProducer for each partitionTargetRange
108
- filteredPartitionKeyRanges.forEach((partitionTargetRange) => {
109
- // TODO: any partitionTargetRange
110
- // no async callback
111
- targetPartitionQueryExecutionContextList.push(this._createTargetPartitionQueryExecutionContext(partitionTargetRange, undefined));
112
- });
113
- // Fill up our priority queue with documentProducers
114
- targetPartitionQueryExecutionContextList.forEach((documentProducer) => {
115
- // has async callback
116
- try {
117
- this.unfilledDocumentProducersQueue.enq(documentProducer);
118
- }
119
- catch (e) {
120
- this.err = e;
121
- }
122
- });
123
- this.sem.leave();
124
378
  }
125
- catch (err) {
126
- this.err = err;
127
- // release the lock
128
- this.sem.leave();
129
- return;
379
+ else {
380
+ // Split scenario - one range from continuation token now maps to multiple ranges
381
+ await this._handleContinuationTokenSplit(rangeWithToken, overlappingRanges);
382
+ // Add all overlapping ranges with the same continuation token to processed ranges
383
+ overlappingRanges.forEach((rangeValue) => {
384
+ processedRanges.push({
385
+ range: rangeValue,
386
+ continuationToken: rangeWithToken.continuationToken,
387
+ });
388
+ });
130
389
  }
131
- };
132
- this.sem.take(createDocumentProducersAndFillUpPriorityQueueFunc);
390
+ }
391
+ return processedRanges;
133
392
  }
393
+ /**
394
+ * Parses the continuation token based on query type
395
+ * @param continuationToken - The continuation token string to parse
396
+ * @returns Parsed continuation token object (ORDER BY or Parallel query token)
397
+ * @throws ErrorResponse when continuation token is malformed or cannot be parsed
398
+ */
399
+ _parseContinuationToken(continuationToken) {
400
+ try {
401
+ return this.queryProcessingStrategy.parseContinuationToken(continuationToken);
402
+ }
403
+ catch (e) {
404
+ throw new ErrorResponse(`Invalid continuation token format. Expected token with rangeMappings property. ` +
405
+ `Ensure the continuation token was generated by a compatible query and has not been modified.`);
406
+ }
407
+ }
408
+ /**
409
+ * Handles partition merge scenario for continuation token ranges
410
+ */
411
+ async _handleContinuationTokenMerge(rangeWithToken, _newMergedRange) {
412
+ const rangeKey = `${rangeWithToken.queryRange.min}-${rangeWithToken.queryRange.max}`;
413
+ this.updatedContinuationRanges.set(rangeKey, {
414
+ oldRange: {
415
+ min: rangeWithToken.queryRange.min,
416
+ max: rangeWithToken.queryRange.max,
417
+ isMinInclusive: true, // Assumption: min is always inclusive
418
+ isMaxInclusive: false, // Assumption: max is always exclusive
419
+ },
420
+ newRanges: [
421
+ {
422
+ min: rangeWithToken.queryRange.min,
423
+ max: rangeWithToken.queryRange.max,
424
+ isMinInclusive: true, // Assumption: min is always inclusive
425
+ isMaxInclusive: false, // Assumption: max is always exclusive
426
+ },
427
+ ],
428
+ continuationToken: rangeWithToken.continuationToken,
429
+ });
430
+ }
431
+ /**
432
+ * Handles partition split scenario for continuation token ranges
433
+ */
434
+ async _handleContinuationTokenSplit(rangeWithToken, overlappingRanges) {
435
+ const rangeKey = `${rangeWithToken.queryRange.min}-${rangeWithToken.queryRange.max}`;
436
+ this.updatedContinuationRanges.set(rangeKey, {
437
+ oldRange: {
438
+ min: rangeWithToken.queryRange.min,
439
+ max: rangeWithToken.queryRange.max,
440
+ isMinInclusive: true, // Assumption: min is always inclusive
441
+ isMaxInclusive: false, // Assumption: max is always exclusive
442
+ },
443
+ newRanges: overlappingRanges.map((range) => ({
444
+ min: range.minInclusive,
445
+ max: range.maxExclusive,
446
+ isMinInclusive: true,
447
+ isMaxInclusive: false,
448
+ })),
449
+ continuationToken: rangeWithToken.continuationToken,
450
+ });
451
+ }
452
+ /**
453
+ * Handles partition merge scenario for continuation token ranges
454
+ */
134
455
  _mergeWithActiveResponseHeaders(headers) {
135
456
  mergeHeaders(this.respHeaders, headers);
136
457
  }
@@ -165,7 +486,11 @@ export class ParallelQueryExecutionContextBase {
165
486
  if (replacementPartitionKeyRanges.length === 0) {
166
487
  throw error;
167
488
  }
168
- else if (replacementPartitionKeyRanges.length === 1) {
489
+ if (this.requestContinuation) {
490
+ // Update composite continuation token to handle partition split
491
+ this._updateContinuationTokenOnPartitionChange(documentProducer, replacementPartitionKeyRanges);
492
+ }
493
+ if (replacementPartitionKeyRanges.length === 1) {
169
494
  // Partition is gone due to Merge
170
495
  // Create the replacement documentProducer with populateEpkRangeHeaders Flag set to true to set startEpk and endEpk headers
171
496
  const replacementDocumentProducer = this._createTargetPartitionQueryExecutionContext(replacementPartitionKeyRanges[0], documentProducer.continuationToken, documentProducer.startEpk, documentProducer.endEpk, true);
@@ -188,26 +513,44 @@ export class ParallelQueryExecutionContextBase {
188
513
  });
189
514
  }
190
515
  }
516
+ _updateContinuationTokenOnPartitionChange(originalDocumentProducer, replacementPartitionKeyRanges) {
517
+ const rangeWithToken = this._createQueryRangeWithContinuationToken(originalDocumentProducer);
518
+ if (replacementPartitionKeyRanges.length === 1) {
519
+ this._handleContinuationTokenMerge(rangeWithToken, replacementPartitionKeyRanges[0]);
520
+ }
521
+ else {
522
+ this._handleContinuationTokenSplit(rangeWithToken, replacementPartitionKeyRanges);
523
+ }
524
+ }
525
+ /**
526
+ * Creates a QueryRangeWithContinuationToken object from a DocumentProducer.
527
+ * Uses the DocumentProducer's target partition key range and continuation token.
528
+ * @param documentProducer - The DocumentProducer to convert
529
+ * @returns QueryRangeWithContinuationToken object for token operations
530
+ */
531
+ _createQueryRangeWithContinuationToken(documentProducer) {
532
+ const partitionRange = documentProducer.targetPartitionKeyRange;
533
+ // Create a simplified QueryRange using the partition key range boundaries
534
+ const simplifiedQueryRange = {
535
+ min: documentProducer.startEpk || partitionRange.minInclusive,
536
+ max: documentProducer.endEpk || partitionRange.maxExclusive,
537
+ };
538
+ return {
539
+ queryRange: simplifiedQueryRange,
540
+ continuationToken: documentProducer.continuationToken,
541
+ };
542
+ }
191
543
  static _needPartitionKeyRangeCacheRefresh(error) {
192
544
  // TODO: any error
193
545
  return (error.code === StatusCodes.Gone &&
194
546
  "substatus" in error &&
195
547
  error["substatus"] === SubStatusCodes.PartitionKeyRangeGone);
196
548
  }
197
- /**
198
- * Determine if there are still remaining resources to processs based on the value of the continuation
199
- * token or the elements remaining on the current batch in the QueryIterator.
200
- * @returns true if there is other elements to process in the ParallelQueryExecutionContextBase.
201
- */
202
- hasMoreResults() {
203
- return (!this.err &&
204
- (this.buffer.length > 0 || this.state !== ParallelQueryExecutionContextBase.STATES.ended));
205
- }
206
549
  /**
207
550
  * Creates target partition range Query Execution Context
208
551
  */
209
- _createTargetPartitionQueryExecutionContext(partitionKeyTargetRange, continuationToken, startEpk, endEpk, populateEpkRangeHeaders) {
210
- let rewrittenQuery = this.partitionedQueryExecutionInfo.queryInfo.rewrittenQuery;
552
+ _createTargetPartitionQueryExecutionContext(partitionKeyTargetRange, continuationToken, startEpk, endEpk, populateEpkRangeHeaders, filterCondition, filterContext) {
553
+ let rewrittenQuery = this.partitionedQueryExecutionInfo.queryInfo?.rewrittenQuery;
211
554
  let sqlQuerySpec;
212
555
  const query = this.query;
213
556
  if (typeof query === "string") {
@@ -219,13 +562,18 @@ export class ParallelQueryExecutionContextBase {
219
562
  const formatPlaceHolder = "{documentdb-formattableorderbyquery-filter}";
220
563
  if (rewrittenQuery) {
221
564
  sqlQuerySpec = JSON.parse(JSON.stringify(sqlQuerySpec));
222
- // We hardcode the formattable filter to true for now
223
- rewrittenQuery = rewrittenQuery.replace(formatPlaceHolder, "true");
565
+ rewrittenQuery = filterCondition
566
+ ? rewrittenQuery.replace(formatPlaceHolder, filterCondition)
567
+ : rewrittenQuery.replace(formatPlaceHolder, "true");
224
568
  sqlQuerySpec["query"] = rewrittenQuery;
225
569
  }
226
570
  const options = { ...this.options };
227
571
  options.continuationToken = continuationToken;
228
- return new DocumentProducer(this.clientContext, this.collectionLink, sqlQuerySpec, partitionKeyTargetRange, options, this.correlatedActivityId, startEpk, endEpk, populateEpkRangeHeaders);
572
+ let filter;
573
+ if (filterContext) {
574
+ filter = new RidSkipCountFilter(filterContext);
575
+ }
576
+ return new DocumentProducer(this.clientContext, this.collectionLink, sqlQuerySpec, partitionKeyTargetRange, options, this.correlatedActivityId, startEpk, endEpk, populateEpkRangeHeaders, filter);
229
577
  }
230
578
  async drainBufferedItems() {
231
579
  return new Promise((resolve, reject) => {
@@ -240,19 +588,33 @@ export class ParallelQueryExecutionContextBase {
240
588
  // return undefined if there is no more results
241
589
  if (this.buffer.length === 0) {
242
590
  this.sem.leave();
591
+ const partitionDataPatchMap = this.partitionDataPatchMap;
592
+ this.partitionDataPatchMap = new Map();
593
+ this.patchCounter = 0;
594
+ // Get and reset updated continuation ranges
595
+ const updatedContinuationRanges = Object.fromEntries(this.updatedContinuationRanges);
596
+ this.updatedContinuationRanges.clear();
597
+ const result = createParallelQueryResult([], partitionDataPatchMap, updatedContinuationRanges, undefined);
243
598
  return resolve({
244
- result: this.state === ParallelQueryExecutionContextBase.STATES.ended ? undefined : [],
599
+ result: this.state === ParallelQueryExecutionContextBase.STATES.ended ? undefined : result,
245
600
  headers: this._getAndResetActiveResponseHeaders(),
246
601
  });
247
602
  }
248
603
  // draing the entire buffer object and return that in result of return object
249
604
  const bufferedResults = this.buffer;
250
605
  this.buffer = [];
606
+ // reset the patchToRangeMapping
607
+ const partitionDataPatchMap = this.partitionDataPatchMap;
608
+ this.partitionDataPatchMap = new Map();
609
+ this.patchCounter = 0;
610
+ // Get and reset updated continuation ranges
611
+ const updatedContinuationRanges = Object.fromEntries(this.updatedContinuationRanges);
612
+ this.updatedContinuationRanges.clear();
251
613
  // release the lock before returning
252
614
  this.sem.leave();
253
- // invoke the callback on the item
615
+ const result = createParallelQueryResult(bufferedResults, partitionDataPatchMap, updatedContinuationRanges, undefined);
254
616
  return resolve({
255
- result: bufferedResults,
617
+ result,
256
618
  headers: this._getAndResetActiveResponseHeaders(),
257
619
  });
258
620
  });
@@ -286,7 +648,7 @@ export class ParallelQueryExecutionContextBase {
286
648
  try {
287
649
  const maxDegreeOfParallelism = this.options.maxDegreeOfParallelism === undefined ||
288
650
  this.options.maxDegreeOfParallelism < 1
289
- ? this.unfilledDocumentProducersQueue.size()
651
+ ? this.unfilledDocumentProducersQueue.size() // number of partitions
290
652
  : Math.min(this.options.maxDegreeOfParallelism, this.unfilledDocumentProducersQueue.size());
291
653
  const documentProducers = [];
292
654
  while (documentProducers.length < maxDegreeOfParallelism &&
@@ -307,13 +669,30 @@ export class ParallelQueryExecutionContextBase {
307
669
  try {
308
670
  const headers = await documentProducer.bufferMore(diagnosticNode);
309
671
  this._mergeWithActiveResponseHeaders(headers);
310
- // if buffer of document producer is filled, add it to the buffered document producers queue
672
+ // Always track this document producer in patchToRangeMapping, even if it has no results
673
+ // This ensures we maintain a record of all partition ranges that were scanned
311
674
  const nextItem = documentProducer.peakNextItem();
312
675
  if (nextItem !== undefined) {
313
676
  this.bufferedDocumentProducersQueue.enq(documentProducer);
314
677
  }
315
- else if (documentProducer.hasMoreResults()) {
316
- this.unfilledDocumentProducersQueue.enq(documentProducer);
678
+ else {
679
+ // Track document producer with no results in patchToRangeMapping
680
+ // This represents a scanned partition that yielded no results
681
+ // IMPORTANT: Only include if continuation token is NOT null/exhausted
682
+ // Document producers with no data in buffer and no continuation token are exhausted and should not be added to partitionDataPatchMap to prevent infinite loops in order by queries
683
+ if (documentProducer.continuationToken &&
684
+ documentProducer.continuationToken !== "" &&
685
+ documentProducer.continuationToken.toLowerCase() !== "null") {
686
+ const patchKey = `empty-${documentProducer.targetPartitionKeyRange.id}-${documentProducer.targetPartitionKeyRange.minInclusive}`;
687
+ this.partitionDataPatchMap.set(patchKey, {
688
+ itemCount: 0, // 0 items for empty result set
689
+ partitionKeyRange: documentProducer.targetPartitionKeyRange,
690
+ continuationToken: documentProducer.continuationToken,
691
+ });
692
+ }
693
+ if (documentProducer.hasMoreResults()) {
694
+ this.unfilledDocumentProducersQueue.enq(documentProducer);
695
+ }
317
696
  }
318
697
  }
319
698
  catch (err) {
@@ -355,10 +734,10 @@ export class ParallelQueryExecutionContextBase {
355
734
  }
356
735
  /**
357
736
  * Drains the buffer of filled document producers and appends their items to the main buffer.
358
- * @param isOrderBy - Indicates if the query is an order by query.
737
+ * Uses template method pattern - delegates actual processing to subclasses.
359
738
  * @returns A promise that resolves when the buffer is filled.
360
739
  */
361
- async fillBufferFromBufferQueue(isOrderBy = false) {
740
+ async fillBufferFromBufferQueue() {
362
741
  return new Promise((resolve, reject) => {
363
742
  this.sem.take(async () => {
364
743
  if (this.err) {
@@ -375,39 +754,7 @@ export class ParallelQueryExecutionContextBase {
375
754
  return;
376
755
  }
377
756
  try {
378
- if (isOrderBy) {
379
- while (this.unfilledDocumentProducersQueue.isEmpty() &&
380
- this.bufferedDocumentProducersQueue.size() > 0) {
381
- const documentProducer = this.bufferedDocumentProducersQueue.deq();
382
- const { result, headers } = await documentProducer.fetchNextItem();
383
- this._mergeWithActiveResponseHeaders(headers);
384
- if (result) {
385
- this.buffer.push(result);
386
- }
387
- if (documentProducer.peakNextItem() !== undefined) {
388
- this.bufferedDocumentProducersQueue.enq(documentProducer);
389
- }
390
- else if (documentProducer.hasMoreResults()) {
391
- this.unfilledDocumentProducersQueue.enq(documentProducer);
392
- }
393
- else {
394
- // no more results in document producer
395
- }
396
- }
397
- }
398
- else {
399
- while (this.bufferedDocumentProducersQueue.size() > 0) {
400
- const documentProducer = this.bufferedDocumentProducersQueue.deq();
401
- const { result, headers } = await documentProducer.fetchBufferedItems();
402
- this._mergeWithActiveResponseHeaders(headers);
403
- if (result) {
404
- this.buffer.push(...result);
405
- }
406
- if (documentProducer.hasMoreResults()) {
407
- this.unfilledDocumentProducersQueue.enq(documentProducer);
408
- }
409
- }
410
- }
757
+ await this.processBufferedDocumentProducers();
411
758
  this.updateStates(this.err);
412
759
  }
413
760
  catch (err) {