@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
@@ -7,12 +7,16 @@ const OrderByEndpointComponent_js_1 = require("./EndpointComponent/OrderByEndpoi
7
7
  const OrderedDistinctEndpointComponent_js_1 = require("./EndpointComponent/OrderedDistinctEndpointComponent.js");
8
8
  const UnorderedDistinctEndpointComponent_js_1 = require("./EndpointComponent/UnorderedDistinctEndpointComponent.js");
9
9
  const GroupByEndpointComponent_js_1 = require("./EndpointComponent/GroupByEndpointComponent.js");
10
- const headerUtils_js_1 = require("./headerUtils.js");
11
10
  const orderByQueryExecutionContext_js_1 = require("./orderByQueryExecutionContext.js");
12
11
  const parallelQueryExecutionContext_js_1 = require("./parallelQueryExecutionContext.js");
13
12
  const GroupByValueEndpointComponent_js_1 = require("./EndpointComponent/GroupByValueEndpointComponent.js");
14
13
  const NonStreamingOrderByDistinctEndpointComponent_js_1 = require("./EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js");
15
14
  const NonStreamingOrderByEndpointComponent_js_1 = require("./EndpointComponent/NonStreamingOrderByEndpointComponent.js");
15
+ const QueryValidationHelper_js_1 = require("./QueryValidationHelper.js");
16
+ const ContinuationTokenParser_js_1 = require("./ContinuationTokenParser.js");
17
+ const LegacyFetchImplementation_js_1 = require("./LegacyFetchImplementation.js");
18
+ const QueryControlFetchImplementation_js_1 = require("./QueryControlFetchImplementation.js");
19
+ const constants_js_1 = require("../common/constants.js");
16
20
  /** @hidden */
17
21
  class PipelinedQueryExecutionContext {
18
22
  clientContext;
@@ -22,13 +26,8 @@ class PipelinedQueryExecutionContext {
22
26
  partitionedQueryExecutionInfo;
23
27
  emitRawOrderByPayload;
24
28
  fetchBuffer;
25
- fetchMoreRespHeaders;
26
29
  endpoint;
27
- pageSize;
28
- vectorSearchBufferSize = 0;
29
- static DEFAULT_PAGE_SIZE = 10;
30
- static DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE = 50000;
31
- nonStreamingOrderBy = false;
30
+ fetchImplementation;
32
31
  constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId, emitRawOrderByPayload = false) {
33
32
  this.clientContext = clientContext;
34
33
  this.collectionLink = collectionLink;
@@ -36,131 +35,161 @@ class PipelinedQueryExecutionContext {
36
35
  this.options = options;
37
36
  this.partitionedQueryExecutionInfo = partitionedQueryExecutionInfo;
38
37
  this.emitRawOrderByPayload = emitRawOrderByPayload;
39
- this.endpoint = null;
40
- this.pageSize = options["maxItemCount"];
41
- if (this.pageSize === undefined) {
42
- this.pageSize = PipelinedQueryExecutionContext.DEFAULT_PAGE_SIZE;
43
- }
44
- // Pick between Nonstreaming and streaming endpoints
45
- this.nonStreamingOrderBy = partitionedQueryExecutionInfo.queryInfo.hasNonStreamingOrderBy;
46
- // Pick between parallel vs order by execution context
47
- const sortOrders = partitionedQueryExecutionInfo.queryInfo.orderBy;
48
- // TODO: Currently we don't get any field from backend to determine streaming queries
49
- if (this.nonStreamingOrderBy) {
50
- if (!options.allowUnboundedNonStreamingQueries) {
51
- this.checkQueryConstraints(partitionedQueryExecutionInfo.queryInfo);
52
- }
53
- this.vectorSearchBufferSize = this.calculateVectorSearchBufferSize(partitionedQueryExecutionInfo.queryInfo, options);
54
- const maxBufferSize = options["vectorSearchBufferSize"]
55
- ? options["vectorSearchBufferSize"]
56
- : PipelinedQueryExecutionContext.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;
57
- if (this.vectorSearchBufferSize > maxBufferSize) {
58
- throw new ErrorResponse_js_1.ErrorResponse(`Executing a vector search query with TOP or OFFSET + LIMIT value ${this.vectorSearchBufferSize} larger than the vectorSearchBufferSize ${maxBufferSize} ` +
59
- `is not allowed`);
60
- }
61
- const distinctType = partitionedQueryExecutionInfo.queryInfo.distinctType;
62
- const context = new parallelQueryExecutionContext_js_1.ParallelQueryExecutionContext(this.clientContext, this.collectionLink, this.query, this.options, this.partitionedQueryExecutionInfo, correlatedActivityId);
63
- if (distinctType === "None") {
64
- this.endpoint = new NonStreamingOrderByEndpointComponent_js_1.NonStreamingOrderByEndpointComponent(context, sortOrders, this.vectorSearchBufferSize, partitionedQueryExecutionInfo.queryInfo.offset, this.emitRawOrderByPayload);
65
- }
66
- else {
67
- this.endpoint = new NonStreamingOrderByDistinctEndpointComponent_js_1.NonStreamingOrderByDistinctEndpointComponent(context, partitionedQueryExecutionInfo.queryInfo, this.vectorSearchBufferSize, this.emitRawOrderByPayload);
68
- }
38
+ // Validate that queryInfo is present in partitioned query execution info
39
+ if (!partitionedQueryExecutionInfo.queryInfo) {
40
+ throw new ErrorResponse_js_1.ErrorResponse("Query execution requires valid query plan information. " +
41
+ "The partitioned query execution info is missing queryInfo. " +
42
+ "This may indicate an invalid query or a problem with query planning.");
69
43
  }
70
- else {
71
- if (Array.isArray(sortOrders) && sortOrders.length > 0) {
72
- // Need to wrap orderby execution context in endpoint component, since the data is nested as a \
73
- // "payload" property.
74
- this.endpoint = new OrderByEndpointComponent_js_1.OrderByEndpointComponent(new orderByQueryExecutionContext_js_1.OrderByQueryExecutionContext(this.clientContext, this.collectionLink, this.query, this.options, this.partitionedQueryExecutionInfo, correlatedActivityId), this.emitRawOrderByPayload);
75
- }
76
- else {
77
- this.endpoint = new parallelQueryExecutionContext_js_1.ParallelQueryExecutionContext(this.clientContext, this.collectionLink, this.query, this.options, this.partitionedQueryExecutionInfo, correlatedActivityId);
78
- }
79
- if (Object.keys(partitionedQueryExecutionInfo.queryInfo.groupByAliasToAggregateType).length >
80
- 0 ||
81
- partitionedQueryExecutionInfo.queryInfo.aggregates.length > 0 ||
82
- partitionedQueryExecutionInfo.queryInfo.groupByExpressions.length > 0) {
83
- if (partitionedQueryExecutionInfo.queryInfo.hasSelectValue) {
84
- this.endpoint = new GroupByValueEndpointComponent_js_1.GroupByValueEndpointComponent(this.endpoint, partitionedQueryExecutionInfo.queryInfo);
85
- }
86
- else {
87
- this.endpoint = new GroupByEndpointComponent_js_1.GroupByEndpointComponent(this.endpoint, partitionedQueryExecutionInfo.queryInfo);
88
- }
89
- }
90
- // If distinct then add that to the pipeline
91
- const distinctType = partitionedQueryExecutionInfo.queryInfo.distinctType;
92
- if (distinctType === "Ordered") {
93
- this.endpoint = new OrderedDistinctEndpointComponent_js_1.OrderedDistinctEndpointComponent(this.endpoint);
94
- }
95
- if (distinctType === "Unordered") {
96
- this.endpoint = new UnorderedDistinctEndpointComponent_js_1.UnorderedDistinctEndpointComponent(this.endpoint);
97
- }
98
- // If top then add that to the pipeline. TOP N is effectively OFFSET 0 LIMIT N
99
- const top = partitionedQueryExecutionInfo.queryInfo.top;
100
- if (typeof top === "number") {
101
- this.endpoint = new OffsetLimitEndpointComponent_js_1.OffsetLimitEndpointComponent(this.endpoint, 0, top);
102
- }
103
- // If offset+limit then add that to the pipeline
104
- const limit = partitionedQueryExecutionInfo.queryInfo.limit;
105
- const offset = partitionedQueryExecutionInfo.queryInfo.offset;
106
- if (typeof limit === "number" && typeof offset === "number") {
107
- this.endpoint = new OffsetLimitEndpointComponent_js_1.OffsetLimitEndpointComponent(this.endpoint, offset, limit);
108
- }
44
+ if (!this.options.maxItemCount) {
45
+ this.options.maxItemCount = constants_js_1.QueryExecution.DEFAULT_PAGE_SIZE;
46
+ }
47
+ const pageSize = this.options.maxItemCount;
48
+ // Extract query information and characteristics
49
+ const analyzedQueryInfo = this.analyzeQueryInfo(partitionedQueryExecutionInfo.queryInfo);
50
+ const { sortOrders, nonStreamingOrderBy, isOrderByQuery, isGroupByQuery, isUnorderedDistinctQuery, querySupportsTokens, } = analyzedQueryInfo;
51
+ // Reject continuation token usage for unsupported query types
52
+ if (!querySupportsTokens) {
53
+ (0, QueryValidationHelper_js_1.rejectContinuationTokenForUnsupportedQueries)(this.options.continuationToken, [
54
+ QueryValidationHelper_js_1.QueryTypes.nonStreamingOrderBy(nonStreamingOrderBy),
55
+ QueryValidationHelper_js_1.QueryTypes.groupBy(isGroupByQuery),
56
+ QueryValidationHelper_js_1.QueryTypes.unorderedDistinct(isUnorderedDistinctQuery),
57
+ ]);
109
58
  }
59
+ // Parse continuation token fields once for reuse in pipeline construction
60
+ const queryContinuationFields = this.options.continuationToken
61
+ ? (0, ContinuationTokenParser_js_1.parseContinuationTokenFields)(this.options.continuationToken)
62
+ : undefined;
63
+ // Pick between non-streaming vs streaming execution context
64
+ this.endpoint = nonStreamingOrderBy
65
+ ? this.createNonStreamingEndpoint(partitionedQueryExecutionInfo, sortOrders, correlatedActivityId, options)
66
+ : this.createStreamingEndpoint(partitionedQueryExecutionInfo, sortOrders, correlatedActivityId, isGroupByQuery, queryContinuationFields);
110
67
  this.fetchBuffer = [];
68
+ // Initialize the appropriate fetch implementation based on enableQueryControl
69
+ if (this.options.enableQueryControl) {
70
+ this.fetchImplementation = new QueryControlFetchImplementation_js_1.QueryControlFetchImplementation(this.endpoint, pageSize, this.collectionLink, this.options.continuationToken, isOrderByQuery, querySupportsTokens);
71
+ }
72
+ else {
73
+ this.fetchImplementation = new LegacyFetchImplementation_js_1.LegacyFetchImplementation(this.endpoint, pageSize);
74
+ }
111
75
  }
112
76
  hasMoreResults() {
113
77
  return this.fetchBuffer.length !== 0 || this.endpoint.hasMoreResults();
114
78
  }
115
79
  async fetchMore(diagnosticNode) {
116
- this.fetchMoreRespHeaders = (0, headerUtils_js_1.getInitialHeader)();
117
- return this._fetchMoreImplementation(diagnosticNode);
80
+ return this.fetchImplementation.fetchMore(diagnosticNode, this.fetchBuffer);
118
81
  }
119
- async _fetchMoreImplementation(diagnosticNode) {
120
- try {
121
- if (this.fetchBuffer.length >= this.pageSize) {
122
- const temp = this.fetchBuffer.slice(0, this.pageSize);
123
- this.fetchBuffer = this.fetchBuffer.slice(this.pageSize);
124
- return { result: temp, headers: this.fetchMoreRespHeaders };
125
- }
126
- else {
127
- const response = await this.endpoint.fetchMore(diagnosticNode);
128
- (0, headerUtils_js_1.mergeHeaders)(this.fetchMoreRespHeaders, response.headers);
129
- if (response === undefined || response.result === undefined) {
130
- if (this.fetchBuffer.length > 0) {
131
- const temp = this.fetchBuffer;
132
- this.fetchBuffer = [];
133
- return { result: temp, headers: this.fetchMoreRespHeaders };
134
- }
135
- else {
136
- return { result: undefined, headers: this.fetchMoreRespHeaders };
137
- }
138
- }
139
- this.fetchBuffer.push(...response.result);
140
- if (this.options.enableQueryControl) {
141
- if (this.fetchBuffer.length >= this.pageSize) {
142
- const temp = this.fetchBuffer.slice(0, this.pageSize);
143
- this.fetchBuffer = this.fetchBuffer.slice(this.pageSize);
144
- return { result: temp, headers: this.fetchMoreRespHeaders };
145
- }
146
- else {
147
- const temp = this.fetchBuffer;
148
- this.fetchBuffer = [];
149
- return { result: temp, headers: this.fetchMoreRespHeaders };
150
- }
151
- }
152
- // Recursively fetch more results to ensure the pageSize number of results are returned
153
- // to maintain compatibility with the previous implementation
154
- return this._fetchMoreImplementation(diagnosticNode);
82
+ /**
83
+ * Creates a non-streaming endpoint for vector search and similar queries that require buffering
84
+ */
85
+ createNonStreamingEndpoint(partitionedQueryExecutionInfo, sortOrders, correlatedActivityId, options) {
86
+ const queryInfo = partitionedQueryExecutionInfo.queryInfo; // Safe to use ! after validation in constructor
87
+ if (!options.allowUnboundedNonStreamingQueries) {
88
+ this.checkQueryConstraints(queryInfo);
89
+ }
90
+ const vectorSearchBufferSize = this.calculateVectorSearchBufferSize(queryInfo, options);
91
+ this.validateVectorSearchBufferSize(vectorSearchBufferSize, options);
92
+ const baseContext = new parallelQueryExecutionContext_js_1.ParallelQueryExecutionContext(this.clientContext, this.collectionLink, this.query, this.options, this.partitionedQueryExecutionInfo, correlatedActivityId);
93
+ return this.wrapWithNonStreamingComponent(baseContext, queryInfo, sortOrders, vectorSearchBufferSize);
94
+ }
95
+ /**
96
+ * Creates a streaming endpoint with proper pipeline components
97
+ */
98
+ createStreamingEndpoint(partitionedQueryExecutionInfo, sortOrders, correlatedActivityId, isGroupByQuery, queryContinuationFields) {
99
+ const queryInfo = partitionedQueryExecutionInfo.queryInfo; // Safe to use ! after validation in constructor
100
+ // Create base execution context
101
+ let endpoint = this.createBaseExecutionContext(partitionedQueryExecutionInfo, sortOrders, correlatedActivityId);
102
+ // Apply pipeline transformations
103
+ endpoint = this.applyGroupByComponents(endpoint, queryInfo, isGroupByQuery);
104
+ endpoint = this.applyDistinctComponents(endpoint, queryInfo, queryContinuationFields);
105
+ endpoint = this.applyLimitComponents(endpoint, queryInfo, queryContinuationFields);
106
+ return endpoint;
107
+ }
108
+ /**
109
+ * Creates the base execution context (OrderBy or Parallel)
110
+ */
111
+ createBaseExecutionContext(partitionedQueryExecutionInfo, sortOrders, correlatedActivityId) {
112
+ if (Array.isArray(sortOrders) && sortOrders.length > 0) {
113
+ // OrderBy queries need special wrapping for payload structure
114
+ return new OrderByEndpointComponent_js_1.OrderByEndpointComponent(new orderByQueryExecutionContext_js_1.OrderByQueryExecutionContext(this.clientContext, this.collectionLink, this.query, this.options, partitionedQueryExecutionInfo, correlatedActivityId), this.emitRawOrderByPayload);
115
+ }
116
+ // Parallel queries
117
+ return new parallelQueryExecutionContext_js_1.ParallelQueryExecutionContext(this.clientContext, this.collectionLink, this.query, this.options, partitionedQueryExecutionInfo, correlatedActivityId);
118
+ }
119
+ /**
120
+ * Wraps base context with appropriate non-streaming component
121
+ */
122
+ wrapWithNonStreamingComponent(baseContext, queryInfo, sortOrders, vectorSearchBufferSize) {
123
+ const distinctType = queryInfo.distinctType;
124
+ if (distinctType === "None") {
125
+ return new NonStreamingOrderByEndpointComponent_js_1.NonStreamingOrderByEndpointComponent(baseContext, sortOrders, vectorSearchBufferSize, queryInfo.offset, this.emitRawOrderByPayload);
126
+ }
127
+ return new NonStreamingOrderByDistinctEndpointComponent_js_1.NonStreamingOrderByDistinctEndpointComponent(baseContext, queryInfo, vectorSearchBufferSize, this.emitRawOrderByPayload);
128
+ }
129
+ /**
130
+ * Applies GROUP BY components to the pipeline if needed
131
+ */
132
+ applyGroupByComponents(endpoint, queryInfo, isGroupByQuery) {
133
+ if (!isGroupByQuery) {
134
+ return endpoint;
135
+ }
136
+ return queryInfo.hasSelectValue
137
+ ? new GroupByValueEndpointComponent_js_1.GroupByValueEndpointComponent(endpoint, queryInfo)
138
+ : new GroupByEndpointComponent_js_1.GroupByEndpointComponent(endpoint, queryInfo);
139
+ }
140
+ /**
141
+ * Applies DISTINCT components to the pipeline if needed
142
+ */
143
+ applyDistinctComponents(endpoint, queryInfo, queryContinuationFields) {
144
+ const distinctType = queryInfo.distinctType;
145
+ if (distinctType === "Ordered") {
146
+ const lastHash = queryContinuationFields?.hashedLastResult;
147
+ return new OrderedDistinctEndpointComponent_js_1.OrderedDistinctEndpointComponent(endpoint, lastHash);
148
+ }
149
+ if (distinctType === "Unordered") {
150
+ return new UnorderedDistinctEndpointComponent_js_1.UnorderedDistinctEndpointComponent(endpoint);
151
+ }
152
+ return endpoint;
153
+ }
154
+ /**
155
+ * Applies TOP and OFFSET+LIMIT components to the pipeline if needed
156
+ */
157
+ applyLimitComponents(endpoint, queryInfo, queryContinuationFields) {
158
+ // Apply TOP component (TOP N is effectively OFFSET 0 LIMIT N)
159
+ let top = queryInfo.top;
160
+ if (typeof top === "number") {
161
+ if (queryContinuationFields?.limit !== undefined) {
162
+ top = queryContinuationFields.limit;
155
163
  }
164
+ endpoint = new OffsetLimitEndpointComponent_js_1.OffsetLimitEndpointComponent(endpoint, 0, top);
156
165
  }
157
- catch (err) {
158
- (0, headerUtils_js_1.mergeHeaders)(this.fetchMoreRespHeaders, err.headers);
159
- err.headers = this.fetchMoreRespHeaders;
160
- if (err) {
161
- throw err;
166
+ // Apply OFFSET+LIMIT component
167
+ let limit = queryInfo.limit;
168
+ let offset = queryInfo.offset;
169
+ if (queryContinuationFields) {
170
+ if (queryContinuationFields.limit !== undefined) {
171
+ limit = queryContinuationFields.limit;
172
+ }
173
+ if (queryContinuationFields.offset !== undefined) {
174
+ offset = queryContinuationFields.offset;
162
175
  }
163
176
  }
177
+ if (typeof limit === "number" && typeof offset === "number") {
178
+ endpoint = new OffsetLimitEndpointComponent_js_1.OffsetLimitEndpointComponent(endpoint, offset, limit);
179
+ }
180
+ return endpoint;
181
+ }
182
+ /**
183
+ * Validates vector search buffer size constraints
184
+ */
185
+ validateVectorSearchBufferSize(vectorSearchBufferSize, options) {
186
+ const maxBufferSize = options["vectorSearchBufferSize"]
187
+ ? options["vectorSearchBufferSize"]
188
+ : constants_js_1.QueryExecution.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;
189
+ if (vectorSearchBufferSize > maxBufferSize) {
190
+ throw new ErrorResponse_js_1.ErrorResponse(`Executing a vector search query with TOP or OFFSET + LIMIT value ${vectorSearchBufferSize} larger than the vectorSearchBufferSize ${maxBufferSize} ` +
191
+ `is not allowed`);
192
+ }
164
193
  }
165
194
  calculateVectorSearchBufferSize(queryInfo, options) {
166
195
  if (queryInfo.top === 0 || queryInfo.limit === 0)
@@ -171,7 +200,7 @@ class PipelinedQueryExecutionContext {
171
200
  ? queryInfo.offset + queryInfo.limit
172
201
  : options["vectorSearchBufferSize"] && options["vectorSearchBufferSize"] > 0
173
202
  ? options["vectorSearchBufferSize"]
174
- : PipelinedQueryExecutionContext.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;
203
+ : constants_js_1.QueryExecution.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;
175
204
  }
176
205
  checkQueryConstraints(queryInfo) {
177
206
  const hasTop = queryInfo.top || queryInfo.top === 0;
@@ -183,6 +212,30 @@ class PipelinedQueryExecutionContext {
183
212
  }
184
213
  return;
185
214
  }
215
+ /**
216
+ * Analyzes query information and extracts key characteristics for query execution planning
217
+ */
218
+ analyzeQueryInfo(queryInfo) {
219
+ const sortOrders = queryInfo.orderBy;
220
+ const nonStreamingOrderBy = queryInfo.hasNonStreamingOrderBy;
221
+ const isOrderByQuery = Array.isArray(sortOrders) && sortOrders.length > 0;
222
+ // Check if this is a GROUP BY query
223
+ const isGroupByQuery = Object.keys(queryInfo.groupByAliasToAggregateType || {}).length > 0 ||
224
+ (queryInfo.aggregates?.length || 0) > 0 ||
225
+ (queryInfo.groupByExpressions?.length || 0) > 0;
226
+ // Check if this is an unordered DISTINCT query
227
+ const isUnorderedDistinctQuery = queryInfo.distinctType === "Unordered";
228
+ // Determine if this query type supports continuation tokens
229
+ const querySupportsTokens = !isUnorderedDistinctQuery && !isGroupByQuery && !nonStreamingOrderBy;
230
+ return {
231
+ sortOrders,
232
+ nonStreamingOrderBy,
233
+ isOrderByQuery,
234
+ isGroupByQuery,
235
+ isUnorderedDistinctQuery,
236
+ querySupportsTokens,
237
+ };
238
+ }
186
239
  }
187
240
  exports.PipelinedQueryExecutionContext = PipelinedQueryExecutionContext;
188
241
  //# sourceMappingURL=pipelinedQueryExecutionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipelinedQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/pipelinedQueryExecutionContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { Response, FeedOptions } from \"../request/index.js\";\nimport type { PartitionedQueryExecutionInfo, QueryInfo } from \"../request/ErrorResponse.js\";\nimport { ErrorResponse } from \"../request/ErrorResponse.js\";\nimport type { CosmosHeaders } from \"./CosmosHeaders.js\";\nimport { OffsetLimitEndpointComponent } from \"./EndpointComponent/OffsetLimitEndpointComponent.js\";\nimport { OrderByEndpointComponent } from \"./EndpointComponent/OrderByEndpointComponent.js\";\nimport { OrderedDistinctEndpointComponent } from \"./EndpointComponent/OrderedDistinctEndpointComponent.js\";\nimport { UnorderedDistinctEndpointComponent } from \"./EndpointComponent/UnorderedDistinctEndpointComponent.js\";\nimport { GroupByEndpointComponent } from \"./EndpointComponent/GroupByEndpointComponent.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport { getInitialHeader, mergeHeaders } from \"./headerUtils.js\";\nimport { OrderByQueryExecutionContext } from \"./orderByQueryExecutionContext.js\";\nimport { ParallelQueryExecutionContext } from \"./parallelQueryExecutionContext.js\";\nimport { GroupByValueEndpointComponent } from \"./EndpointComponent/GroupByValueEndpointComponent.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { NonStreamingOrderByDistinctEndpointComponent } from \"./EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js\";\nimport { NonStreamingOrderByEndpointComponent } from \"./EndpointComponent/NonStreamingOrderByEndpointComponent.js\";\n\n/** @hidden */\nexport class PipelinedQueryExecutionContext implements ExecutionContext {\n private fetchBuffer: any[];\n private fetchMoreRespHeaders: CosmosHeaders;\n private endpoint: ExecutionContext;\n private pageSize: number;\n private vectorSearchBufferSize: number = 0;\n private static DEFAULT_PAGE_SIZE = 10;\n private static DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE = 50000;\n private nonStreamingOrderBy = false;\n\n constructor(\n private clientContext: ClientContext,\n private collectionLink: string,\n private query: string | SqlQuerySpec,\n private options: FeedOptions,\n private partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n correlatedActivityId: string,\n private emitRawOrderByPayload: boolean = false,\n ) {\n this.endpoint = null;\n this.pageSize = options[\"maxItemCount\"];\n if (this.pageSize === undefined) {\n this.pageSize = PipelinedQueryExecutionContext.DEFAULT_PAGE_SIZE;\n }\n // Pick between Nonstreaming and streaming endpoints\n this.nonStreamingOrderBy = partitionedQueryExecutionInfo.queryInfo.hasNonStreamingOrderBy;\n\n // Pick between parallel vs order by execution context\n const sortOrders = partitionedQueryExecutionInfo.queryInfo.orderBy;\n // TODO: Currently we don't get any field from backend to determine streaming queries\n if (this.nonStreamingOrderBy) {\n if (!options.allowUnboundedNonStreamingQueries) {\n this.checkQueryConstraints(partitionedQueryExecutionInfo.queryInfo);\n }\n\n this.vectorSearchBufferSize = this.calculateVectorSearchBufferSize(\n partitionedQueryExecutionInfo.queryInfo,\n options,\n );\n const maxBufferSize = options[\"vectorSearchBufferSize\"]\n ? options[\"vectorSearchBufferSize\"]\n : PipelinedQueryExecutionContext.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;\n\n if (this.vectorSearchBufferSize > maxBufferSize) {\n throw new ErrorResponse(\n `Executing a vector search query with TOP or OFFSET + LIMIT value ${this.vectorSearchBufferSize} larger than the vectorSearchBufferSize ${maxBufferSize} ` +\n `is not allowed`,\n );\n }\n\n const distinctType = partitionedQueryExecutionInfo.queryInfo.distinctType;\n const context: ExecutionContext = new ParallelQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n this.query,\n this.options,\n this.partitionedQueryExecutionInfo,\n correlatedActivityId,\n );\n\n if (distinctType === \"None\") {\n this.endpoint = new NonStreamingOrderByEndpointComponent(\n context,\n sortOrders,\n this.vectorSearchBufferSize,\n partitionedQueryExecutionInfo.queryInfo.offset,\n this.emitRawOrderByPayload,\n );\n } else {\n this.endpoint = new NonStreamingOrderByDistinctEndpointComponent(\n context,\n partitionedQueryExecutionInfo.queryInfo,\n this.vectorSearchBufferSize,\n this.emitRawOrderByPayload,\n );\n }\n } else {\n if (Array.isArray(sortOrders) && sortOrders.length > 0) {\n // Need to wrap orderby execution context in endpoint component, since the data is nested as a \\\n // \"payload\" property.\n this.endpoint = new OrderByEndpointComponent(\n new OrderByQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n this.query,\n this.options,\n this.partitionedQueryExecutionInfo,\n correlatedActivityId,\n ),\n this.emitRawOrderByPayload,\n );\n } else {\n this.endpoint = new ParallelQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n this.query,\n this.options,\n this.partitionedQueryExecutionInfo,\n correlatedActivityId,\n );\n }\n if (\n Object.keys(partitionedQueryExecutionInfo.queryInfo.groupByAliasToAggregateType).length >\n 0 ||\n partitionedQueryExecutionInfo.queryInfo.aggregates.length > 0 ||\n partitionedQueryExecutionInfo.queryInfo.groupByExpressions.length > 0\n ) {\n if (partitionedQueryExecutionInfo.queryInfo.hasSelectValue) {\n this.endpoint = new GroupByValueEndpointComponent(\n this.endpoint,\n partitionedQueryExecutionInfo.queryInfo,\n );\n } else {\n this.endpoint = new GroupByEndpointComponent(\n this.endpoint,\n partitionedQueryExecutionInfo.queryInfo,\n );\n }\n }\n\n // If distinct then add that to the pipeline\n const distinctType = partitionedQueryExecutionInfo.queryInfo.distinctType;\n if (distinctType === \"Ordered\") {\n this.endpoint = new OrderedDistinctEndpointComponent(this.endpoint);\n }\n if (distinctType === \"Unordered\") {\n this.endpoint = new UnorderedDistinctEndpointComponent(this.endpoint);\n }\n\n // If top then add that to the pipeline. TOP N is effectively OFFSET 0 LIMIT N\n const top = partitionedQueryExecutionInfo.queryInfo.top;\n if (typeof top === \"number\") {\n this.endpoint = new OffsetLimitEndpointComponent(this.endpoint, 0, top);\n }\n\n // If offset+limit then add that to the pipeline\n const limit = partitionedQueryExecutionInfo.queryInfo.limit;\n const offset = partitionedQueryExecutionInfo.queryInfo.offset;\n if (typeof limit === \"number\" && typeof offset === \"number\") {\n this.endpoint = new OffsetLimitEndpointComponent(this.endpoint, offset, limit);\n }\n }\n this.fetchBuffer = [];\n }\n\n public hasMoreResults(): boolean {\n return this.fetchBuffer.length !== 0 || this.endpoint.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n this.fetchMoreRespHeaders = getInitialHeader();\n return this._fetchMoreImplementation(diagnosticNode);\n }\n\n private async _fetchMoreImplementation(\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<Response<any>> {\n try {\n if (this.fetchBuffer.length >= this.pageSize) {\n const temp = this.fetchBuffer.slice(0, this.pageSize);\n this.fetchBuffer = this.fetchBuffer.slice(this.pageSize);\n return { result: temp, headers: this.fetchMoreRespHeaders };\n } else {\n const response = await this.endpoint.fetchMore(diagnosticNode);\n mergeHeaders(this.fetchMoreRespHeaders, response.headers);\n if (response === undefined || response.result === undefined) {\n if (this.fetchBuffer.length > 0) {\n const temp = this.fetchBuffer;\n this.fetchBuffer = [];\n return { result: temp, headers: this.fetchMoreRespHeaders };\n } else {\n return { result: undefined, headers: this.fetchMoreRespHeaders };\n }\n }\n this.fetchBuffer.push(...response.result);\n\n if (this.options.enableQueryControl) {\n if (this.fetchBuffer.length >= this.pageSize) {\n const temp = this.fetchBuffer.slice(0, this.pageSize);\n this.fetchBuffer = this.fetchBuffer.slice(this.pageSize);\n return { result: temp, headers: this.fetchMoreRespHeaders };\n } else {\n const temp = this.fetchBuffer;\n this.fetchBuffer = [];\n return { result: temp, headers: this.fetchMoreRespHeaders };\n }\n }\n // Recursively fetch more results to ensure the pageSize number of results are returned\n // to maintain compatibility with the previous implementation\n return this._fetchMoreImplementation(diagnosticNode);\n }\n } catch (err: any) {\n mergeHeaders(this.fetchMoreRespHeaders, err.headers);\n err.headers = this.fetchMoreRespHeaders;\n if (err) {\n throw err;\n }\n }\n }\n\n private calculateVectorSearchBufferSize(queryInfo: QueryInfo, options: FeedOptions): number {\n if (queryInfo.top === 0 || queryInfo.limit === 0) return 0;\n return queryInfo.top\n ? queryInfo.top\n : queryInfo.limit\n ? queryInfo.offset + queryInfo.limit\n : options[\"vectorSearchBufferSize\"] && options[\"vectorSearchBufferSize\"] > 0\n ? options[\"vectorSearchBufferSize\"]\n : PipelinedQueryExecutionContext.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;\n }\n\n private checkQueryConstraints(queryInfo: QueryInfo): void {\n const hasTop = queryInfo.top || queryInfo.top === 0;\n const hasLimit = queryInfo.limit || queryInfo.limit === 0;\n if (!hasTop && !hasLimit) {\n throw new ErrorResponse(\n \"Executing a non-streaming search query without TOP or LIMIT can consume a large number of RUs \" +\n \"very fast and have long runtimes. Please ensure you are using one of the above two filters \" +\n \"with your vector search query.\",\n );\n }\n return;\n }\n}\n"]}
1
+ {"version":3,"file":"pipelinedQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/pipelinedQueryExecutionContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { Response, FeedOptions } from \"../request/index.js\";\nimport type { PartitionedQueryExecutionInfo, QueryInfo } from \"../request/ErrorResponse.js\";\nimport { ErrorResponse } from \"../request/ErrorResponse.js\";\nimport { OffsetLimitEndpointComponent } from \"./EndpointComponent/OffsetLimitEndpointComponent.js\";\nimport { OrderByEndpointComponent } from \"./EndpointComponent/OrderByEndpointComponent.js\";\nimport { OrderedDistinctEndpointComponent } from \"./EndpointComponent/OrderedDistinctEndpointComponent.js\";\nimport { UnorderedDistinctEndpointComponent } from \"./EndpointComponent/UnorderedDistinctEndpointComponent.js\";\nimport { GroupByEndpointComponent } from \"./EndpointComponent/GroupByEndpointComponent.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport { OrderByQueryExecutionContext } from \"./orderByQueryExecutionContext.js\";\nimport { ParallelQueryExecutionContext } from \"./parallelQueryExecutionContext.js\";\nimport { GroupByValueEndpointComponent } from \"./EndpointComponent/GroupByValueEndpointComponent.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { NonStreamingOrderByDistinctEndpointComponent } from \"./EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js\";\nimport { NonStreamingOrderByEndpointComponent } from \"./EndpointComponent/NonStreamingOrderByEndpointComponent.js\";\nimport {\n rejectContinuationTokenForUnsupportedQueries,\n QueryTypes,\n} from \"./QueryValidationHelper.js\";\nimport { parseContinuationTokenFields } from \"./ContinuationTokenParser.js\";\nimport { LegacyFetchImplementation } from \"./LegacyFetchImplementation.js\";\nimport { QueryControlFetchImplementation } from \"./QueryControlFetchImplementation.js\";\nimport { QueryExecution } from \"../common/constants.js\";\n\n/** @hidden */\nexport class PipelinedQueryExecutionContext implements ExecutionContext {\n private fetchBuffer: any[];\n private endpoint: ExecutionContext;\n private readonly fetchImplementation: LegacyFetchImplementation | QueryControlFetchImplementation;\n\n constructor(\n private clientContext: ClientContext,\n private collectionLink: string,\n private query: string | SqlQuerySpec,\n private options: FeedOptions,\n private partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n correlatedActivityId: string,\n private emitRawOrderByPayload: boolean = false,\n ) {\n // Validate that queryInfo is present in partitioned query execution info\n if (!partitionedQueryExecutionInfo.queryInfo) {\n throw new ErrorResponse(\n \"Query execution requires valid query plan information. \" +\n \"The partitioned query execution info is missing queryInfo. \" +\n \"This may indicate an invalid query or a problem with query planning.\",\n );\n }\n\n if (!this.options.maxItemCount) {\n this.options.maxItemCount = QueryExecution.DEFAULT_PAGE_SIZE;\n }\n const pageSize = this.options.maxItemCount;\n\n // Extract query information and characteristics\n const analyzedQueryInfo = this.analyzeQueryInfo(partitionedQueryExecutionInfo.queryInfo);\n const {\n sortOrders,\n nonStreamingOrderBy,\n isOrderByQuery,\n isGroupByQuery,\n isUnorderedDistinctQuery,\n querySupportsTokens,\n } = analyzedQueryInfo;\n\n // Reject continuation token usage for unsupported query types\n if (!querySupportsTokens) {\n rejectContinuationTokenForUnsupportedQueries(this.options.continuationToken, [\n QueryTypes.nonStreamingOrderBy(nonStreamingOrderBy),\n QueryTypes.groupBy(isGroupByQuery),\n QueryTypes.unorderedDistinct(isUnorderedDistinctQuery),\n ]);\n }\n\n // Parse continuation token fields once for reuse in pipeline construction\n const queryContinuationFields = this.options.continuationToken\n ? parseContinuationTokenFields(this.options.continuationToken)\n : undefined;\n\n // Pick between non-streaming vs streaming execution context\n this.endpoint = nonStreamingOrderBy\n ? this.createNonStreamingEndpoint(\n partitionedQueryExecutionInfo,\n sortOrders,\n correlatedActivityId,\n options,\n )\n : this.createStreamingEndpoint(\n partitionedQueryExecutionInfo,\n sortOrders,\n correlatedActivityId,\n isGroupByQuery,\n queryContinuationFields,\n );\n this.fetchBuffer = [];\n // Initialize the appropriate fetch implementation based on enableQueryControl\n if (this.options.enableQueryControl) {\n this.fetchImplementation = new QueryControlFetchImplementation(\n this.endpoint,\n pageSize,\n this.collectionLink,\n this.options.continuationToken,\n isOrderByQuery,\n querySupportsTokens,\n );\n } else {\n this.fetchImplementation = new LegacyFetchImplementation(this.endpoint, pageSize);\n }\n }\n\n public hasMoreResults(): boolean {\n return this.fetchBuffer.length !== 0 || this.endpoint.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n return this.fetchImplementation.fetchMore(diagnosticNode, this.fetchBuffer);\n }\n\n /**\n * Creates a non-streaming endpoint for vector search and similar queries that require buffering\n */\n private createNonStreamingEndpoint(\n partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n sortOrders: any[],\n correlatedActivityId: string,\n options: FeedOptions,\n ): ExecutionContext {\n const queryInfo = partitionedQueryExecutionInfo.queryInfo!; // Safe to use ! after validation in constructor\n\n if (!options.allowUnboundedNonStreamingQueries) {\n this.checkQueryConstraints(queryInfo);\n }\n\n const vectorSearchBufferSize = this.calculateVectorSearchBufferSize(queryInfo, options);\n\n this.validateVectorSearchBufferSize(vectorSearchBufferSize, options);\n\n const baseContext = new ParallelQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n this.query,\n this.options,\n this.partitionedQueryExecutionInfo,\n correlatedActivityId,\n );\n\n return this.wrapWithNonStreamingComponent(\n baseContext,\n queryInfo,\n sortOrders,\n vectorSearchBufferSize,\n );\n }\n\n /**\n * Creates a streaming endpoint with proper pipeline components\n */\n private createStreamingEndpoint(\n partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n sortOrders: any[],\n correlatedActivityId: string,\n isGroupByQuery: boolean,\n queryContinuationFields: any,\n ): ExecutionContext {\n const queryInfo = partitionedQueryExecutionInfo.queryInfo!; // Safe to use ! after validation in constructor\n\n // Create base execution context\n let endpoint = this.createBaseExecutionContext(\n partitionedQueryExecutionInfo,\n sortOrders,\n correlatedActivityId,\n );\n\n // Apply pipeline transformations\n endpoint = this.applyGroupByComponents(endpoint, queryInfo, isGroupByQuery);\n endpoint = this.applyDistinctComponents(endpoint, queryInfo, queryContinuationFields);\n endpoint = this.applyLimitComponents(endpoint, queryInfo, queryContinuationFields);\n\n return endpoint;\n }\n\n /**\n * Creates the base execution context (OrderBy or Parallel)\n */\n private createBaseExecutionContext(\n partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n sortOrders: any[],\n correlatedActivityId: string,\n ): ExecutionContext {\n if (Array.isArray(sortOrders) && sortOrders.length > 0) {\n // OrderBy queries need special wrapping for payload structure\n return new OrderByEndpointComponent(\n new OrderByQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n this.query,\n this.options,\n partitionedQueryExecutionInfo,\n correlatedActivityId,\n ),\n this.emitRawOrderByPayload,\n );\n }\n\n // Parallel queries\n return new ParallelQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n this.query,\n this.options,\n partitionedQueryExecutionInfo,\n correlatedActivityId,\n );\n }\n\n /**\n * Wraps base context with appropriate non-streaming component\n */\n private wrapWithNonStreamingComponent(\n baseContext: ExecutionContext,\n queryInfo: QueryInfo,\n sortOrders: any[],\n vectorSearchBufferSize: number,\n ): ExecutionContext {\n const distinctType = queryInfo.distinctType;\n\n if (distinctType === \"None\") {\n return new NonStreamingOrderByEndpointComponent(\n baseContext,\n sortOrders,\n vectorSearchBufferSize,\n queryInfo.offset,\n this.emitRawOrderByPayload,\n );\n }\n\n return new NonStreamingOrderByDistinctEndpointComponent(\n baseContext,\n queryInfo,\n vectorSearchBufferSize,\n this.emitRawOrderByPayload,\n );\n }\n\n /**\n * Applies GROUP BY components to the pipeline if needed\n */\n private applyGroupByComponents(\n endpoint: ExecutionContext,\n queryInfo: QueryInfo,\n isGroupByQuery: boolean,\n ): ExecutionContext {\n if (!isGroupByQuery) {\n return endpoint;\n }\n\n return queryInfo.hasSelectValue\n ? new GroupByValueEndpointComponent(endpoint, queryInfo)\n : new GroupByEndpointComponent(endpoint, queryInfo);\n }\n\n /**\n * Applies DISTINCT components to the pipeline if needed\n */\n private applyDistinctComponents(\n endpoint: ExecutionContext,\n queryInfo: QueryInfo,\n queryContinuationFields: any,\n ): ExecutionContext {\n const distinctType = queryInfo.distinctType;\n\n if (distinctType === \"Ordered\") {\n const lastHash = queryContinuationFields?.hashedLastResult;\n return new OrderedDistinctEndpointComponent(endpoint, lastHash);\n }\n\n if (distinctType === \"Unordered\") {\n return new UnorderedDistinctEndpointComponent(endpoint);\n }\n\n return endpoint;\n }\n\n /**\n * Applies TOP and OFFSET+LIMIT components to the pipeline if needed\n */\n private applyLimitComponents(\n endpoint: ExecutionContext,\n queryInfo: QueryInfo,\n queryContinuationFields: any,\n ): ExecutionContext {\n // Apply TOP component (TOP N is effectively OFFSET 0 LIMIT N)\n let top = queryInfo.top;\n if (typeof top === \"number\") {\n if (queryContinuationFields?.limit !== undefined) {\n top = queryContinuationFields.limit;\n }\n endpoint = new OffsetLimitEndpointComponent(endpoint, 0, top);\n }\n\n // Apply OFFSET+LIMIT component\n let limit = queryInfo.limit;\n let offset = queryInfo.offset;\n\n if (queryContinuationFields) {\n if (queryContinuationFields.limit !== undefined) {\n limit = queryContinuationFields.limit;\n }\n if (queryContinuationFields.offset !== undefined) {\n offset = queryContinuationFields.offset;\n }\n }\n\n if (typeof limit === \"number\" && typeof offset === \"number\") {\n endpoint = new OffsetLimitEndpointComponent(endpoint, offset, limit);\n }\n\n return endpoint;\n }\n\n /**\n * Validates vector search buffer size constraints\n */\n private validateVectorSearchBufferSize(\n vectorSearchBufferSize: number,\n options: FeedOptions,\n ): void {\n const maxBufferSize = options[\"vectorSearchBufferSize\"]\n ? options[\"vectorSearchBufferSize\"]\n : QueryExecution.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;\n\n if (vectorSearchBufferSize > maxBufferSize) {\n throw new ErrorResponse(\n `Executing a vector search query with TOP or OFFSET + LIMIT value ${vectorSearchBufferSize} larger than the vectorSearchBufferSize ${maxBufferSize} ` +\n `is not allowed`,\n );\n }\n }\n\n private calculateVectorSearchBufferSize(queryInfo: QueryInfo, options: FeedOptions): number {\n if (queryInfo.top === 0 || queryInfo.limit === 0) return 0;\n return queryInfo.top\n ? queryInfo.top\n : queryInfo.limit\n ? queryInfo.offset + queryInfo.limit\n : options[\"vectorSearchBufferSize\"] && options[\"vectorSearchBufferSize\"] > 0\n ? options[\"vectorSearchBufferSize\"]\n : QueryExecution.DEFAULT_MAX_VECTOR_SEARCH_BUFFER_SIZE;\n }\n\n private checkQueryConstraints(queryInfo: QueryInfo): void {\n const hasTop = queryInfo.top || queryInfo.top === 0;\n const hasLimit = queryInfo.limit || queryInfo.limit === 0;\n if (!hasTop && !hasLimit) {\n throw new ErrorResponse(\n \"Executing a non-streaming search query without TOP or LIMIT can consume a large number of RUs \" +\n \"very fast and have long runtimes. Please ensure you are using one of the above two filters \" +\n \"with your vector search query.\",\n );\n }\n return;\n }\n\n /**\n * Analyzes query information and extracts key characteristics for query execution planning\n */\n private analyzeQueryInfo(queryInfo: QueryInfo) {\n const sortOrders = queryInfo.orderBy;\n const nonStreamingOrderBy = queryInfo.hasNonStreamingOrderBy;\n const isOrderByQuery = Array.isArray(sortOrders) && sortOrders.length > 0;\n\n // Check if this is a GROUP BY query\n const isGroupByQuery =\n Object.keys(queryInfo.groupByAliasToAggregateType || {}).length > 0 ||\n (queryInfo.aggregates?.length || 0) > 0 ||\n (queryInfo.groupByExpressions?.length || 0) > 0;\n\n // Check if this is an unordered DISTINCT query\n const isUnorderedDistinctQuery = queryInfo.distinctType === \"Unordered\";\n\n // Determine if this query type supports continuation tokens\n const querySupportsTokens =\n !isUnorderedDistinctQuery && !isGroupByQuery && !nonStreamingOrderBy;\n\n return {\n sortOrders,\n nonStreamingOrderBy,\n isOrderByQuery,\n isGroupByQuery,\n isUnorderedDistinctQuery,\n querySupportsTokens,\n };\n }\n}\n"]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Represents the context for filtering, including the values from the continuation token.
3
+ */
4
+ export interface FilterContext {
5
+ /**
6
+ * The _rid of the document from which the continuation token was created.
7
+ */
8
+ rid: string;
9
+ /**
10
+ * The number of documents with the same _rid to skip, used in JOIN queries.
11
+ */
12
+ skipCount: number;
13
+ /**
14
+ * The order by item values from the last document of the previous page.
15
+ */
16
+ orderByItems: any[];
17
+ /**
18
+ * The sort orders for the ORDER BY fields ("Ascending" or "Descending").
19
+ */
20
+ sortOrders: any[];
21
+ /**
22
+ * Query execution information from x-ms-cosmos-query-execution-info header.
23
+ */
24
+ queryExecutionInfo?: {
25
+ reverseRidEnabled: boolean;
26
+ reverseIndexScan: boolean;
27
+ };
28
+ }
29
+ /**
30
+ * Defines the interface for a post-fetch query filter.
31
+ */
32
+ export interface FilterStrategy {
33
+ /**
34
+ * Applies the filtering logic to a set of documents.
35
+ * @param documents - The documents to filter.
36
+ * @returns The filtered set of documents.
37
+ */
38
+ applyFilter(documents: any[]): any[];
39
+ }
40
+ //# sourceMappingURL=FilterStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/FilterStrategy.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;CACtC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=FilterStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/FilterStrategy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Represents the context for filtering, including the values from the continuation token.\n */\nexport interface FilterContext {\n /**\n * The _rid of the document from which the continuation token was created.\n */\n rid: string;\n /**\n * The number of documents with the same _rid to skip, used in JOIN queries.\n */\n skipCount: number;\n /**\n * The order by item values from the last document of the previous page.\n */\n orderByItems: any[];\n /**\n * The sort orders for the ORDER BY fields (\"Ascending\" or \"Descending\").\n */\n sortOrders: any[];\n /**\n * Query execution information from x-ms-cosmos-query-execution-info header.\n */\n queryExecutionInfo?: {\n reverseRidEnabled: boolean;\n reverseIndexScan: boolean;\n };\n}\n\n/**\n * Defines the interface for a post-fetch query filter.\n */\nexport interface FilterStrategy {\n /**\n * Applies the filtering logic to a set of documents.\n * @param documents - The documents to filter.\n * @returns The filtered set of documents.\n */\n applyFilter(documents: any[]): any[];\n}\n"]}
@@ -0,0 +1,49 @@
1
+ import type { PartitionKeyRange } from "../../index.js";
2
+ import type { TargetPartitionRangeStrategy, PartitionRangeFilterResult } from "./TargetPartitionRangeStrategy.js";
3
+ import type { PartitionRangeWithContinuationToken } from "./TargetPartitionRangeManager.js";
4
+ /**
5
+ * Strategy for filtering partition ranges in ORDER BY query execution context
6
+ * Supports resuming from continuation tokens with proper range-token pair management
7
+ * @hidden
8
+ */
9
+ export declare class OrderByQueryRangeStrategy implements TargetPartitionRangeStrategy {
10
+ getStrategyType(): string;
11
+ filterPartitionRanges(targetRanges: PartitionKeyRange[], continuationRanges?: PartitionRangeWithContinuationToken[], queryInfo?: Record<string, unknown>): PartitionRangeFilterResult;
12
+ /**
13
+ * Creates a filter condition for ranges based on ORDER BY items and sort orders
14
+ * This filter ensures that ranges only return documents based on their position relative to the continuation point
15
+ * @param orderByItems - Array of order by items from the continuation token
16
+ * @param queryInfo - Query information containing sort orders and other metadata
17
+ * @param rangePosition - Whether this is for "left" or "right" ranges relative to continuation point
18
+ * @returns SQL filter condition string for the specified range position
19
+ */
20
+ private createRangeFilterCondition;
21
+ /**
22
+ * Extracts sort orders from query info
23
+ * @throws Error if sort order information is missing or invalid
24
+ */
25
+ private extractSortOrders;
26
+ /**
27
+ * Extracts field path from ORDER BY expressions in query plan
28
+ * @throws Error if orderByExpressions are not found or index is out of bounds or expression format is invalid
29
+ */
30
+ private extractFieldPath;
31
+ /**
32
+ * Creates a comparison condition based on the field, value, sort order, and range position
33
+ */
34
+ private createComparisonCondition;
35
+ /**
36
+ * Formats a value for use in SQL condition
37
+ */
38
+ private formatValueForSQL;
39
+ /**
40
+ * Compares partition key range boundaries with proper handling for inclusive/exclusive semantics
41
+ * @param boundary1 - First boundary to compare
42
+ * @param boundary2 - Second boundary to compare
43
+ * @returns negative if boundary1 is less than boundary2, positive if boundary1 is greater than boundary2, 0 if equal
44
+ */
45
+ private comparePartitionKeyBoundaries;
46
+ private isRangeBeforeAnother;
47
+ private isRangeAfterAnother;
48
+ }
49
+ //# sourceMappingURL=OrderByQueryRangeStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByQueryRangeStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAE5F;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,4BAA4B;IAC5E,eAAe,IAAI,MAAM;IAIzB,qBAAqB,CACnB,YAAY,EAAE,iBAAiB,EAAE,EACjC,kBAAkB,CAAC,EAAE,mCAAmC,EAAE,EAC1D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,0BAA0B;IAkG7B;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAkFlC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyDxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkCjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAUrC,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;CAK5B"}