@azure/cosmos 4.7.0-alpha.20251118.1 → 4.8.0-alpha.20251120.6

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 (801) hide show
  1. package/dist/browser/CosmosClientOptions.d.ts +1 -1
  2. package/dist/browser/CosmosClientOptions.js.map +1 -1
  3. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  4. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  5. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  6. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  7. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  8. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  9. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  10. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  11. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  12. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  13. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  14. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  15. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  16. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  17. package/dist/browser/client/ChangeFeed/changeFeedUtils.js +47 -0
  18. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  19. package/dist/browser/common/constants.d.ts.map +1 -1
  20. package/dist/browser/common/constants.js +16 -1
  21. package/dist/browser/common/constants.js.map +1 -1
  22. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  23. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  24. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  25. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  26. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  27. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  28. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  29. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  30. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  31. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  32. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  33. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  34. package/dist/browser/documents/VectorEmbeddingPolicy.d.ts +4 -0
  35. package/dist/browser/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  36. package/dist/browser/documents/VectorEmbeddingPolicy.js +4 -0
  37. package/dist/browser/documents/VectorEmbeddingPolicy.js.map +1 -1
  38. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  39. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  40. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  41. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  42. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  43. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  44. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  45. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  46. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  47. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  48. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  49. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  50. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  51. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  52. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  53. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  54. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  55. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  56. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  57. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  58. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  59. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  60. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  61. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  62. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
  63. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  64. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  65. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  66. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  67. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  68. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  69. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  70. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  71. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  72. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  73. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  74. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  75. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  76. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  77. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  78. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  79. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  80. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  81. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  82. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  83. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  84. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  85. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  86. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  87. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  88. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  89. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  90. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  91. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  92. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  93. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  94. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  95. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  96. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
  97. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  98. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  99. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  100. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
  101. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  102. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  103. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  104. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  105. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  106. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  107. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  108. package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
  109. package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  110. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  111. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  112. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  113. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  114. package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
  115. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  116. package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
  117. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  118. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  119. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  120. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  121. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  122. package/dist/browser/queryExecutionContext/index.d.ts +7 -0
  123. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  124. package/dist/browser/queryExecutionContext/index.js +4 -0
  125. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  126. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  127. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  128. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
  130. package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  131. package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
  132. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  133. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  134. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  135. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  136. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  137. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  138. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  139. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  140. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  141. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  142. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  143. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  144. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  145. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  146. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  147. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  148. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  149. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  150. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  151. package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
  152. package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
  153. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  154. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  155. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  156. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  157. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  158. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  159. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  160. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  161. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  162. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  163. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  164. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  165. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  166. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  167. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  168. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  169. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  170. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  171. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  172. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  173. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  174. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  175. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  176. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  177. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  178. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  179. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  180. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  181. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  182. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  183. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  184. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  185. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  186. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  187. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  188. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  189. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  190. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  191. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  192. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  193. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  194. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  195. package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
  196. package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
  197. package/dist/browser/queryIterator.js.map +1 -1
  198. package/dist/browser/utils/offers.d.ts.map +1 -1
  199. package/dist/browser/utils/offers.js +0 -1
  200. package/dist/browser/utils/offers.js.map +1 -1
  201. package/dist/commonjs/CosmosClientOptions.d.ts +1 -1
  202. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  203. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  204. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +1 -33
  205. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  206. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  207. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +1 -34
  208. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  209. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  210. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  211. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  212. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  213. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  214. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  215. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  216. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  217. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +48 -0
  218. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  219. package/dist/commonjs/common/constants.d.ts.map +1 -1
  220. package/dist/commonjs/common/constants.js +13 -2
  221. package/dist/commonjs/common/constants.js.map +1 -1
  222. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  223. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  224. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  225. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  226. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  227. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  228. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  229. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  230. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  231. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  232. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  233. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  234. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts +4 -0
  235. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  236. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +4 -0
  237. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +1 -1
  238. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  239. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  240. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  241. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  242. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  243. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  244. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  245. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  246. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  247. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  248. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  249. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  250. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  251. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  252. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  253. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  254. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  255. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  256. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  257. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  258. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  259. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  260. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  261. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  262. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  263. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  264. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  265. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  266. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  267. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  269. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  271. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  272. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  274. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  275. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  276. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  278. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  280. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  281. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  282. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  283. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  284. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  285. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  286. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  287. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  288. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  289. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  290. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  291. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  292. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  293. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  294. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  295. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  296. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  297. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  298. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  299. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  300. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  301. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  302. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  303. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  304. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  305. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  306. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  307. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  308. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  309. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  310. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  311. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  312. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  313. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  314. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  315. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  316. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  317. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  318. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  319. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  320. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  321. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  322. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  323. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  324. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  325. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  326. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  327. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  328. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  329. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  330. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  331. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  332. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  333. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  334. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  335. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  336. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  337. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  338. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  339. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  340. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  341. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  342. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  343. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  344. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  345. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  346. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  347. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  348. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  349. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  350. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  351. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  352. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  353. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  354. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  355. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  356. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  357. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  358. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  359. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  360. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  361. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  362. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  363. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  364. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  365. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  366. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  367. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  368. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  369. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  370. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  371. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  372. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  373. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  374. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  375. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  376. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  377. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  378. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  379. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  380. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  381. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  382. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  383. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  384. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  385. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  386. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  387. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  388. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  389. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  390. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  391. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  392. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  393. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  394. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  395. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  396. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  397. package/dist/commonjs/queryIterator.js.map +1 -1
  398. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  399. package/dist/commonjs/utils/offers.js +0 -1
  400. package/dist/commonjs/utils/offers.js.map +1 -1
  401. package/dist/esm/CosmosClientOptions.d.ts +1 -1
  402. package/dist/esm/CosmosClientOptions.js.map +1 -1
  403. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  404. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  405. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  406. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  407. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  408. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  409. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  410. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  411. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  412. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  413. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  414. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  415. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  416. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  417. package/dist/esm/client/ChangeFeed/changeFeedUtils.js +47 -0
  418. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  419. package/dist/esm/common/constants.d.ts.map +1 -1
  420. package/dist/esm/common/constants.js +16 -1
  421. package/dist/esm/common/constants.js.map +1 -1
  422. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  423. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  424. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  425. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  426. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  427. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  428. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  429. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  430. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  431. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  432. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  433. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  434. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts +4 -0
  435. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  436. package/dist/esm/documents/VectorEmbeddingPolicy.js +4 -0
  437. package/dist/esm/documents/VectorEmbeddingPolicy.js.map +1 -1
  438. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  439. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  440. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  441. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  442. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  443. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  444. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  445. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  446. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  447. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  448. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  449. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  450. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  451. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  452. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  453. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  454. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  455. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  456. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  457. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  458. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  459. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  460. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  461. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  462. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  463. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  464. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  465. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  466. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  467. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  468. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  469. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  470. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  471. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  472. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  473. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  474. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  475. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  476. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  477. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  478. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  479. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  480. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  481. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  482. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  483. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  484. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  485. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  486. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  487. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  488. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  489. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  490. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  491. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  492. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  493. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  494. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  495. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  496. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  497. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  498. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  499. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  500. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  501. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  502. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  503. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  504. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  505. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  506. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  507. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  508. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  509. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  510. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  511. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  512. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  513. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  514. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  515. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  516. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  517. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  518. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  519. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  520. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  521. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  522. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  523. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  524. package/dist/esm/queryExecutionContext/index.js +4 -0
  525. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  526. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  527. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  528. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  529. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  530. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  531. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  532. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  533. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  534. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  535. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  536. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  537. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  538. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  539. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  540. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  541. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  542. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  543. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  544. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  545. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  546. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  547. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  548. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  549. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  550. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  551. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  552. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  553. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  554. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  555. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  556. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  557. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  558. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  559. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  560. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  561. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  562. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  563. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  564. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  565. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  566. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  567. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  568. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  569. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  570. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  571. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  572. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  573. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  574. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  575. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  576. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  577. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  578. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  579. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  580. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  581. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  582. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  583. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  584. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  585. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  586. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  587. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  588. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  589. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  590. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  591. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  592. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  593. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  594. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  595. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  596. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  597. package/dist/esm/queryIterator.js.map +1 -1
  598. package/dist/esm/utils/offers.d.ts.map +1 -1
  599. package/dist/esm/utils/offers.js +0 -1
  600. package/dist/esm/utils/offers.js.map +1 -1
  601. package/dist/react-native/CosmosClientOptions.d.ts +1 -1
  602. package/dist/react-native/CosmosClientOptions.js.map +1 -1
  603. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  604. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  605. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  606. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  607. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  608. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  609. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  610. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  611. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  612. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  613. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  614. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  615. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  616. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  617. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js +47 -0
  618. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  619. package/dist/react-native/common/constants.d.ts.map +1 -1
  620. package/dist/react-native/common/constants.js +16 -1
  621. package/dist/react-native/common/constants.js.map +1 -1
  622. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  623. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  624. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  625. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  626. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  627. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  628. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  629. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  630. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  631. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  632. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  633. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  634. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts +4 -0
  635. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  636. package/dist/react-native/documents/VectorEmbeddingPolicy.js +4 -0
  637. package/dist/react-native/documents/VectorEmbeddingPolicy.js.map +1 -1
  638. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  639. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  640. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  641. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  642. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  643. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  644. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  645. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  646. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  647. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  648. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  649. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  650. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  651. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  652. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  653. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  654. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  655. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  656. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  657. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  658. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  659. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  660. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  661. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  662. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  663. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  664. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  665. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  666. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  667. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  668. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  669. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  670. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  671. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  672. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  673. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  674. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  675. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  676. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  677. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  678. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  679. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  680. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  681. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  682. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  683. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  684. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  685. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  686. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  687. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  688. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  689. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  690. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  691. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  692. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  693. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  694. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  695. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  696. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  697. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  698. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  699. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  700. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  701. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  702. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  703. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  704. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  705. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  706. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  707. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  708. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  709. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  710. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  711. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  712. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  713. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  714. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  715. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  716. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  717. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  718. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  719. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  720. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  721. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  722. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  723. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  724. package/dist/react-native/queryExecutionContext/index.js +4 -0
  725. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  726. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  727. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  728. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  729. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  730. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  731. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  732. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  733. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  734. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  735. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  736. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  737. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  738. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  739. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  740. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  741. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  742. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  743. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  744. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  745. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  746. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  747. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  748. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  749. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  750. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  751. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  752. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  753. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  754. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  755. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  756. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  757. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  758. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  759. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  760. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  761. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  762. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  763. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  764. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  765. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  766. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  767. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  768. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  769. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  770. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  771. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  772. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  773. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  774. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  775. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  776. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  777. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  778. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  779. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  780. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  781. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  782. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  783. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  784. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  785. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  786. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  787. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  788. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  789. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  790. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  791. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  792. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  793. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  794. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  795. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  796. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  797. package/dist/react-native/queryIterator.js.map +1 -1
  798. package/dist/react-native/utils/offers.d.ts.map +1 -1
  799. package/dist/react-native/utils/offers.js +0 -1
  800. package/dist/react-native/utils/offers.js.map +1 -1
  801. package/package.json +6 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryControlFetchImplementation.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryControlFetchImplementation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Response } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { mergeHeaders, getInitialHeader } from \"./headerUtils.js\";\nimport type { BaseContinuationTokenManager } from \"./ContinuationTokenManager/BaseContinuationTokenManager.js\";\nimport { ContinuationTokenManagerFactory } from \"./ContinuationTokenManager/ContinuationTokenManagerFactory.js\";\nimport { Constants } from \"../common/index.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\n\n/**\n * Query control enabled fetch implementation with continuation token support\n * @hidden\n */\nexport class QueryControlFetchImplementation {\n // Required fields for query control - not optional\n private readonly continuationTokenManager: BaseContinuationTokenManager;\n private readonly querySupportsTokens: boolean;\n\n constructor(\n private endpoint: ExecutionContext,\n private pageSize: number,\n collectionLink: string,\n continuationToken: string | undefined,\n isOrderByQuery: boolean,\n querySupportsTokens: boolean,\n ) {\n this.querySupportsTokens = querySupportsTokens;\n\n // Initialize continuation token manager immediately for query control\n this.continuationTokenManager = ContinuationTokenManagerFactory.create(\n collectionLink,\n continuationToken,\n isOrderByQuery,\n );\n }\n\n async fetchMore(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n ): Promise<Response<any>> {\n // Initialize headers fresh for each fetchMore call\n const fetchMoreRespHeaders = getInitialHeader();\n\n // Use continuation token logic for supported queries when query control is enabled\n // Otherwise use simplified buffer-only logic\n if (this.querySupportsTokens) {\n return this._handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);\n } else {\n return this._handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);\n }\n }\n\n private async _handleSimpleBufferFetch(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n fetchMoreRespHeaders: Record<string, any>,\n ): Promise<Response<any>> {\n // Return buffered data if available\n if (fetchBuffer.length > 0) {\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove items in place\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n // Fetch new data from endpoint\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (!response?.result?.buffer?.length) {\n return this._createEmptyResult(response?.headers);\n }\n\n // Buffer new data and return up to pageSize\n fetchBuffer.length = 0; // Clear existing items\n fetchBuffer.push(...response.result.buffer); // Add new items\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove returned items in place\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n private async _handleQueryFetch(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n fetchMoreRespHeaders: Record<string, any>,\n ): Promise<Response<any>> {\n if (fetchBuffer.length > 0) {\n const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n false,\n );\n const temp = fetchBuffer.slice(0, endIndex);\n fetchBuffer.splice(0, endIndex); // Remove returned items in place\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n // Fetch new data from endpoint\n fetchBuffer.length = 0; // Clear existing items in place\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (!response?.result?.buffer || response.result.buffer.length === 0) {\n const { continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n true, // isResponseEmpty = true\n response?.result, // Pass response data for processing\n );\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n return this._createEmptyResult(fetchMoreRespHeaders);\n }\n\n fetchBuffer.push(...response.result.buffer); // Add new items to existing buffer\n const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n false, // isResponseEmpty = false\n response.result, // Pass response data for processing\n );\n\n const temp = fetchBuffer.slice(0, endIndex);\n fetchBuffer.splice(0, endIndex); // Remove returned items in place\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n private _setContinuationTokenInHeaders(\n continuationToken: string | undefined,\n fetchMoreRespHeaders: Record<string, any>,\n ): void {\n if (continuationToken) {\n Object.assign(fetchMoreRespHeaders, {\n [Constants.HttpHeaders.Continuation]: continuationToken,\n });\n }\n }\n\n private _createEmptyResult(headers?: any): Response<any> {\n const hdrs = headers || getInitialHeader();\n return { result: [], headers: hdrs };\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Rejects continuation token usage for unsupported query types
3
+ * @param continuationToken - The continuation token if provided
4
+ * @param unsupportedQueryTypes - Array of query types that don't support continuation tokens
5
+ * @throws ErrorResponse if continuation token is provided for any unsupported query type
6
+ * @hidden
7
+ */
8
+ export declare function rejectContinuationTokenForUnsupportedQueries(continuationToken: string | undefined, unsupportedQueryTypes: UnsupportedQueryType[]): void;
9
+ //# sourceMappingURL=QueryValidationHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidationHelper.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryValidationHelper.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAC1D,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,qBAAqB,EAAE,oBAAoB,EAAE,GAC5C,IAAI,CAWN"}
@@ -0,0 +1,65 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { ErrorResponse } from "../request/ErrorResponse.js";
4
+ /**
5
+ * Rejects continuation token usage for unsupported query types
6
+ * @param continuationToken - The continuation token if provided
7
+ * @param unsupportedQueryTypes - Array of query types that don't support continuation tokens
8
+ * @throws ErrorResponse if continuation token is provided for any unsupported query type
9
+ * @hidden
10
+ */
11
+ export function rejectContinuationTokenForUnsupportedQueries(continuationToken, unsupportedQueryTypes) {
12
+ if (!continuationToken) {
13
+ return;
14
+ }
15
+ // Find the first unsupported query type that is present
16
+ const conflictingQueryType = unsupportedQueryTypes.find((queryType) => queryType.isPresent);
17
+ if (conflictingQueryType) {
18
+ throw new ErrorResponse(conflictingQueryType.errorMessage);
19
+ }
20
+ }
21
+ /**
22
+ * Factory functions for creating unsupported query type descriptors
23
+ * @internal
24
+ */
25
+ export const QueryTypes = {
26
+ nonStreamingOrderBy: (isPresent) => ({
27
+ name: "NonStreamingOrderBy",
28
+ isPresent,
29
+ errorMessage: "Continuation tokens are not supported for non-streaming ORDER BY queries. " +
30
+ "These queries must process all results to ensure correct ordering and cannot be resumed from an intermediate state. " +
31
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
32
+ }),
33
+ groupBy: (isPresent) => ({
34
+ name: "GroupBy",
35
+ isPresent,
36
+ errorMessage: "Continuation tokens are not supported for GROUP BY queries. " +
37
+ "These queries must process all results to compute aggregations and cannot be resumed from an intermediate state. " +
38
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
39
+ }),
40
+ unorderedDistinct: (isPresent) => ({
41
+ name: "UnorderedDistinct",
42
+ isPresent,
43
+ errorMessage: "Continuation tokens are not supported for unordered DISTINCT queries. " +
44
+ "These queries require tracking large amounts of duplicate data in continuation tokens which is not practical. " +
45
+ "Consider removing the continuation token and using fetchAll() instead, or use ordered DISTINCT queries which are supported.",
46
+ }),
47
+ hybridSearch: (isPresent) => ({
48
+ name: "HybridSearch",
49
+ isPresent,
50
+ errorMessage: "Continuation tokens are not supported for hybrid search queries. " +
51
+ "Hybrid search queries require processing and ranking of all component query results " +
52
+ "to compute accurate Reciprocal Rank Fusion (RRF) scores and cannot be resumed from an intermediate state. " +
53
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
54
+ }),
55
+ // Easy to add new unsupported query types here
56
+ vectorSearch: (isPresent) => ({
57
+ name: "VectorSearch",
58
+ isPresent,
59
+ errorMessage: "Continuation tokens are not supported for vector search queries. " +
60
+ "Vector search queries require processing similarity calculations across all data " +
61
+ "and cannot be resumed from an intermediate state. " +
62
+ "Consider removing the continuation token and using fetchAll() instead for complete results.",
63
+ }),
64
+ };
65
+ //# sourceMappingURL=QueryValidationHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidationHelper.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryValidationHelper.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAY5D;;;;;;GAMG;AACH,MAAM,UAAU,4CAA4C,CAC1D,iBAAqC,EACrC,qBAA6C;IAE7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE5F,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,mBAAmB,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,qBAAqB;QAC3B,SAAS;QACT,YAAY,EACV,4EAA4E;YAC5E,sHAAsH;YACtH,6FAA6F;KAChG,CAAC;IAEF,OAAO,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,SAAS;QACf,SAAS;QACT,YAAY,EACV,8DAA8D;YAC9D,mHAAmH;YACnH,6FAA6F;KAChG,CAAC;IAEF,iBAAiB,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,mBAAmB;QACzB,SAAS;QACT,YAAY,EACV,wEAAwE;YACxE,gHAAgH;YAChH,6HAA6H;KAChI,CAAC;IAEF,YAAY,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,cAAc;QACpB,SAAS;QACT,YAAY,EACV,mEAAmE;YACnE,sFAAsF;YACtF,4GAA4G;YAC5G,6FAA6F;KAChG,CAAC;IAEF,+CAA+C;IAC/C,YAAY,EAAE,CAAC,SAAkB,EAAwB,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,cAAc;QACpB,SAAS;QACT,YAAY,EACV,mEAAmE;YACnE,mFAAmF;YACnF,oDAAoD;YACpD,6FAA6F;KAChG,CAAC;CACM,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { ErrorResponse } from \"../request/ErrorResponse.js\";\n\n/**\n * Represents a query type that doesn't support continuation tokens\n * @internal\n */\nexport interface UnsupportedQueryType {\n readonly name: string;\n readonly isPresent: boolean;\n readonly errorMessage: string;\n}\n\n/**\n * Rejects continuation token usage for unsupported query types\n * @param continuationToken - The continuation token if provided\n * @param unsupportedQueryTypes - Array of query types that don't support continuation tokens\n * @throws ErrorResponse if continuation token is provided for any unsupported query type\n * @hidden\n */\nexport function rejectContinuationTokenForUnsupportedQueries(\n continuationToken: string | undefined,\n unsupportedQueryTypes: UnsupportedQueryType[],\n): void {\n if (!continuationToken) {\n return;\n }\n\n // Find the first unsupported query type that is present\n const conflictingQueryType = unsupportedQueryTypes.find((queryType) => queryType.isPresent);\n\n if (conflictingQueryType) {\n throw new ErrorResponse(conflictingQueryType.errorMessage);\n }\n}\n\n/**\n * Factory functions for creating unsupported query type descriptors\n * @internal\n */\nexport const QueryTypes = {\n nonStreamingOrderBy: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"NonStreamingOrderBy\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for non-streaming ORDER BY queries. \" +\n \"These queries must process all results to ensure correct ordering and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n\n groupBy: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"GroupBy\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for GROUP BY queries. \" +\n \"These queries must process all results to compute aggregations and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n\n unorderedDistinct: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"UnorderedDistinct\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for unordered DISTINCT queries. \" +\n \"These queries require tracking large amounts of duplicate data in continuation tokens which is not practical. \" +\n \"Consider removing the continuation token and using fetchAll() instead, or use ordered DISTINCT queries which are supported.\",\n }),\n\n hybridSearch: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"HybridSearch\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for hybrid search queries. \" +\n \"Hybrid search queries require processing and ranking of all component query results \" +\n \"to compute accurate Reciprocal Rank Fusion (RRF) scores and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n\n // Easy to add new unsupported query types here\n vectorSearch: (isPresent: boolean): UnsupportedQueryType => ({\n name: \"VectorSearch\",\n isPresent,\n errorMessage:\n \"Continuation tokens are not supported for vector search queries. \" +\n \"Vector search queries require processing similarity calculations across all data \" +\n \"and cannot be resumed from an intermediate state. \" +\n \"Consider removing the continuation token and using fetchAll() instead for complete results.\",\n }),\n} as const;\n"]}
@@ -11,8 +11,8 @@ export declare class DefaultQueryExecutionContext implements ExecutionContext {
11
11
  private currentPartitionIndex;
12
12
  private fetchFunctions;
13
13
  private options;
14
- continuationToken: string;
15
- get continuation(): string;
14
+ continuationToken: string | undefined;
15
+ get continuation(): string | undefined;
16
16
  private state;
17
17
  private nextFetchFunction;
18
18
  private correlatedActivityId;
@@ -1 +1 @@
1
- {"version":3,"file":"defaultQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAMvF,cAAc;AACd,MAAM,MAAM,qBAAqB,GAAG,CAClC,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAS5B,cAAc;AACd,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAU;IACxC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,OAAO,CAAc;IACtB,iBAAiB,EAAE,MAAM,CAAC;IACjC,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,oBAAoB,CAAS;IACrC;;;;;;;;;;OAUG;gBAED,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EAC/D,oBAAoB,EAAE,MAAM;IAY9B;;OAEG;IACU,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAMrF;;OAEG;IACU,OAAO,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IA6BpF;;;;;OAKG;IACI,cAAc,IAAI,OAAO;IAShC;;OAEG;IACU,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiHtF,OAAO,CAAC,aAAa;CAQtB"}
1
+ {"version":3,"file":"defaultQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAMvF,cAAc;AACd,MAAM,MAAM,qBAAqB,GAAG,CAClC,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,KACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAS5B,cAAc;AACd,qBAAa,4BAA6B,YAAW,gBAAgB;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAU;IACxC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,OAAO,CAAc;IACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IACD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,oBAAoB,CAAS;IACrC;;;;;;;;;;OAUG;gBAED,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EAC/D,oBAAoB,EAAE,MAAM;IAa9B;;OAEG;IACU,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAMrF;;OAEG;IACU,OAAO,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IA6BpF;;;;;OAKG;IACI,cAAc,IAAI,OAAO;IAShC;;OAEG;IACU,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiHtF,OAAO,CAAC,aAAa;CAQtB"}
@@ -45,7 +45,8 @@ export class DefaultQueryExecutionContext {
45
45
  this.currentPartitionIndex = 0;
46
46
  this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions];
47
47
  this.options = options || {};
48
- this.continuationToken = this.options.continuationToken || this.options.continuation || null;
48
+ this.continuationToken =
49
+ this.options.continuationToken || this.options.continuation || undefined;
49
50
  this.state = DefaultQueryExecutionContext.STATES.start;
50
51
  this.correlatedActivityId = correlatedActivityId;
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaultQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,MAAM,MAAM,GAAgB,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAQhE,cAAc;AACd,IAAK,MAIJ;AAJD,WAAK,MAAM;IACT,yBAAe,CAAA;IACf,mCAAyB,CAAA;IACzB,yBAAe,CAAA;AACjB,CAAC,EAJI,MAAM,KAAN,MAAM,QAIV;AAED,cAAc;AACd,MAAM,OAAO,4BAA4B;IAC/B,MAAM,CAAU,MAAM,GAAG,MAAM,CAAC;IAChC,SAAS,CAAQ,CAAC,sBAAsB;IACxC,YAAY,CAAS;IACrB,qBAAqB,CAAS;IAC9B,cAAc,CAA0B;IACxC,OAAO,CAAc,CAAC,oBAAoB;IAC3C,iBAAiB,CAAS,CAAC,yBAAyB;IAC3D,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACO,KAAK,CAAS;IACd,iBAAiB,CAAyB;IAC1C,oBAAoB,CAAS;IACrC;;;;;;;;;;OAUG;IACH,YACE,OAAoB,EACpB,cAA+D,EAC/D,oBAA4B;QAE5B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAC7F,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,cAAsC;QAC1D,EAAE,IAAI,CAAC,YAAY,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,cAAsC;QACzD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzC,OAAO,EAAE,gBAAgB,EAAE;aAC5B,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBACxF,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;oBACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;YACvD,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,gBAAgB,EAAE;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,cAAc;QACnB,OAAO,CACL,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,KAAK;YACxD,IAAI,CAAC,iBAAiB,KAAK,SAAS;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,cAAsC;QAC3D,OAAO,kBAAkB,CACvB,KAAK,EAAE,mBAA2C,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,gBAAgB,EAAE;oBAC3B,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAED,sFAAsF;YACtF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAExD,+CAA+C;YAC/C,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,gBAAgB,EAAE;oBAC3B,MAAM,EAAE,SAAS;iBAClB,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,CAAC;YACd,IAAI,eAAe,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAyB,CAAC;gBAC9B,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;oBACjC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACpC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CACjD,mBAAmB,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,oBAAoB,CAC1B,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC;gBACzB,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC5B,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;gBACtF,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACnC,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAC/B,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBACtD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACtE,IAAI,CAAC,iBAAiB,GAAG,aAAa;wBACpC,CAAC,CAAC,aAAa,CACX,mBAAmB,EACnB;4BACE,GAAG,IAAI,CAAC,OAAO;4BACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;yBAC1C,EACD,IAAI,CAAC,oBAAoB,CAC1B;wBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;gBACvD,oDAAoD;gBACpD,2EAA2E;gBAC3E,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5D,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,oBAAoB,CAAC;YAEjD,4GAA4G;YAC5G,IAAI,SAAS,CAAC,WAAW,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC;gBAC1D,MAAM,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC5E,IAAI,YAAY,GAAG,YAAY,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;gBAE3E,gGAAgG;gBAChG,IAAI,SAAS,CAAC,WAAW,CAAC,aAAa,IAAI,eAAe,EAAE,CAAC;oBAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxF,YAAY,GAAG,IAAI,YAAY,CAC7B,YAAY,CAAC,sBAAsB,EACnC,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,kBAAkB,EAC/B,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,uBAAuB,EACpC,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,gBAAgB,EAC7B,YAAY,CAAC,eAAe,EAC5B,YAAY,CAAC,qBAAqB,EAClC,YAAY,CAAC,iBAAiB,EAC9B,IAAI,iBAAiB,CAAC,aAAa,CAAC,CACrC,CAAC;gBACJ,CAAC;gBAED,kFAAkF;gBAClF,sDAAsD;gBACtD,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACzD,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC1E,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACzD,CAAC,EACD,cAAc,EACd,kBAAkB,CAAC,kBAAkB,EACrC;YACE,qBAAqB,EAAE,WAAW;SACnC,CACF,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,MAAM,GAAG,GACP,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,KAAK;YACxD,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC;YACzF,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;gBACtD,IAAI,CAAC,KAAK,KAAK,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC;IACb,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { Constants } from \"../common/index.js\";\nimport { ClientSideMetrics, QueryMetrics } from \"../queryMetrics/index.js\";\nimport type { FeedOptions, Response } from \"../request/index.js\";\nimport { getInitialHeader } from \"./headerUtils.js\";\nimport type { ExecutionContext } from \"./index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { DiagnosticNodeType } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { addDiagnosticChild } from \"../utils/diagnostics.js\";\nimport { CosmosDbDiagnosticLevel } from \"../diagnostics/CosmosDbDiagnosticLevel.js\";\n\nconst logger: AzureLogger = createClientLogger(\"ClientContext\");\n/** @hidden */\nexport type FetchFunctionCallback = (\n diagnosticNode: DiagnosticNodeInternal,\n options: FeedOptions,\n correlatedActivityId: string,\n) => Promise<Response<any>>;\n\n/** @hidden */\nenum STATES {\n start = \"start\",\n inProgress = \"inProgress\",\n ended = \"ended\",\n}\n\n/** @hidden */\nexport class DefaultQueryExecutionContext implements ExecutionContext {\n private static readonly STATES = STATES;\n private resources: any[]; // TODO: any resources\n private currentIndex: number;\n private currentPartitionIndex: number;\n private fetchFunctions: FetchFunctionCallback[];\n private options: FeedOptions; // TODO: any options\n public continuationToken: string; // TODO: any continuation\n public get continuation(): string {\n return this.continuationToken;\n }\n private state: STATES;\n private nextFetchFunction: Promise<Response<any>>;\n private correlatedActivityId: string;\n /**\n * Provides the basic Query Execution Context.\n * This wraps the internal logic query execution using provided fetch functions\n *\n * @param clientContext - Is used to read the partitionKeyRanges for split proofing\n * @param query - A SQL query.\n * @param options - Represents the feed options.\n * @param fetchFunctions - A function to retrieve each page of data.\n * An array of functions may be used to query more than one partition.\n * @hidden\n */\n constructor(\n options: FeedOptions,\n fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[],\n correlatedActivityId: string,\n ) {\n this.resources = [];\n this.currentIndex = 0;\n this.currentPartitionIndex = 0;\n this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions];\n this.options = options || {};\n this.continuationToken = this.options.continuationToken || this.options.continuation || null;\n this.state = DefaultQueryExecutionContext.STATES.start;\n this.correlatedActivityId = correlatedActivityId;\n }\n\n /**\n * Execute a provided callback on the next element in the execution context.\n */\n public async nextItem(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n ++this.currentIndex;\n const response = await this.current(diagnosticNode);\n return response;\n }\n\n /**\n * Retrieve the current element on the execution context.\n */\n public async current(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.currentIndex < this.resources.length) {\n return {\n result: this.resources[this.currentIndex],\n headers: getInitialHeader(),\n };\n }\n\n if (this._canFetchMore()) {\n const { result: resources, headers } = await this.fetchMore(diagnosticNode);\n this.resources = resources;\n if (this.resources.length === 0) {\n if (!this.continuationToken && this.currentPartitionIndex >= this.fetchFunctions.length) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return { result: undefined, headers };\n } else {\n return this.current(diagnosticNode);\n }\n }\n return { result: this.resources[this.currentIndex], headers };\n } else {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n }\n\n /**\n * Determine if there are still remaining resources to processs based on\n * the value of the continuation token or the elements remaining on the current batch in the execution context.\n *\n * @returns true if there is other elements to process in the DefaultQueryExecutionContext.\n */\n public hasMoreResults(): boolean {\n return (\n this.state === DefaultQueryExecutionContext.STATES.start ||\n this.continuationToken !== undefined ||\n this.currentIndex < this.resources.length - 1 ||\n this.currentPartitionIndex < this.fetchFunctions.length\n );\n }\n\n /**\n * Fetches the next batch of the feed and pass them as an array to a callback\n */\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n return addDiagnosticChild(\n async (childDiagnosticNode: DiagnosticNodeInternal) => {\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n // Keep to the original continuation and to restore the value after fetchFunction call\n const originalContinuation = this.options.continuationToken || this.options.continuation;\n this.options.continuationToken = this.continuationToken;\n\n // Return undefined if there is no more results\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n let resources;\n let responseHeaders;\n try {\n let p: Promise<Response<any>>;\n if (this.nextFetchFunction !== undefined) {\n logger.verbose(\"using prefetch\");\n p = this.nextFetchFunction;\n this.nextFetchFunction = undefined;\n } else {\n logger.verbose(\"using fresh fetch\");\n p = this.fetchFunctions[this.currentPartitionIndex](\n childDiagnosticNode,\n this.options,\n this.correlatedActivityId,\n );\n }\n const response = await p;\n resources = response.result;\n childDiagnosticNode.recordQueryResult(resources, CosmosDbDiagnosticLevel.debugUnsafe);\n responseHeaders = response.headers;\n this.continuationToken = responseHeaders[Constants.HttpHeaders.Continuation];\n if (!this.continuationToken) {\n ++this.currentPartitionIndex;\n }\n\n if (this.options && this.options.bufferItems === true) {\n const fetchFunction = this.fetchFunctions[this.currentPartitionIndex];\n this.nextFetchFunction = fetchFunction\n ? fetchFunction(\n childDiagnosticNode,\n {\n ...this.options,\n continuationToken: this.continuationToken,\n },\n this.correlatedActivityId,\n )\n : undefined;\n }\n } catch (err: any) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n // return callback(err, undefined, responseHeaders);\n // TODO: Error and data being returned is an antipattern, this might broken\n throw err;\n }\n\n this.state = DefaultQueryExecutionContext.STATES.inProgress;\n this.currentIndex = 0;\n this.options.continuationToken = originalContinuation;\n this.options.continuation = originalContinuation;\n\n // deserializing query metrics so that we aren't working with delimited strings in the rest of the code base\n if (Constants.HttpHeaders.QueryMetrics in responseHeaders) {\n const delimitedString = responseHeaders[Constants.HttpHeaders.QueryMetrics];\n let queryMetrics = QueryMetrics.createFromDelimitedString(delimitedString);\n\n // Add the request charge to the query metrics so that we can have per partition request charge.\n if (Constants.HttpHeaders.RequestCharge in responseHeaders) {\n const requestCharge = Number(responseHeaders[Constants.HttpHeaders.RequestCharge]) || 0;\n queryMetrics = new QueryMetrics(\n queryMetrics.retrievedDocumentCount,\n queryMetrics.retrievedDocumentSize,\n queryMetrics.outputDocumentCount,\n queryMetrics.outputDocumentSize,\n queryMetrics.indexHitDocumentCount,\n queryMetrics.totalQueryExecutionTime,\n queryMetrics.queryPreparationTimes,\n queryMetrics.indexLookupTime,\n queryMetrics.documentLoadTime,\n queryMetrics.vmExecutionTime,\n queryMetrics.runtimeExecutionTimes,\n queryMetrics.documentWriteTime,\n new ClientSideMetrics(requestCharge),\n );\n }\n\n // Wraping query metrics in a object where the key is '0' just so single partition\n // and partition queries have the same response schema\n responseHeaders[Constants.HttpHeaders.QueryMetrics] = {};\n responseHeaders[Constants.HttpHeaders.QueryMetrics][\"0\"] = queryMetrics;\n }\n\n return { result: resources, headers: responseHeaders };\n },\n diagnosticNode,\n DiagnosticNodeType.DEFAULT_QUERY_NODE,\n {\n queryMethodIdentifier: \"fetchMore\",\n },\n );\n }\n\n private _canFetchMore(): boolean {\n const res =\n this.state === DefaultQueryExecutionContext.STATES.start ||\n (this.continuationToken && this.state === DefaultQueryExecutionContext.STATES.inProgress) ||\n (this.currentPartitionIndex < this.fetchFunctions.length &&\n this.state === DefaultQueryExecutionContext.STATES.inProgress);\n return res;\n }\n}\n"]}
1
+ {"version":3,"file":"defaultQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/defaultQueryExecutionContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { Constants } from \"../common/index.js\";\nimport { ClientSideMetrics, QueryMetrics } from \"../queryMetrics/index.js\";\nimport type { FeedOptions, Response } from \"../request/index.js\";\nimport { getInitialHeader } from \"./headerUtils.js\";\nimport type { ExecutionContext } from \"./index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { DiagnosticNodeType } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { addDiagnosticChild } from \"../utils/diagnostics.js\";\nimport { CosmosDbDiagnosticLevel } from \"../diagnostics/CosmosDbDiagnosticLevel.js\";\n\nconst logger: AzureLogger = createClientLogger(\"ClientContext\");\n/** @hidden */\nexport type FetchFunctionCallback = (\n diagnosticNode: DiagnosticNodeInternal,\n options: FeedOptions,\n correlatedActivityId: string,\n) => Promise<Response<any>>;\n\n/** @hidden */\nenum STATES {\n start = \"start\",\n inProgress = \"inProgress\",\n ended = \"ended\",\n}\n\n/** @hidden */\nexport class DefaultQueryExecutionContext implements ExecutionContext {\n private static readonly STATES = STATES;\n private resources: any[]; // TODO: any resources\n private currentIndex: number;\n private currentPartitionIndex: number;\n private fetchFunctions: FetchFunctionCallback[];\n private options: FeedOptions; // TODO: any options\n public continuationToken: string | undefined; // TODO: any continuation\n public get continuation(): string | undefined {\n return this.continuationToken;\n }\n private state: STATES;\n private nextFetchFunction: Promise<Response<any>>;\n private correlatedActivityId: string;\n /**\n * Provides the basic Query Execution Context.\n * This wraps the internal logic query execution using provided fetch functions\n *\n * @param clientContext - Is used to read the partitionKeyRanges for split proofing\n * @param query - A SQL query.\n * @param options - Represents the feed options.\n * @param fetchFunctions - A function to retrieve each page of data.\n * An array of functions may be used to query more than one partition.\n * @hidden\n */\n constructor(\n options: FeedOptions,\n fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[],\n correlatedActivityId: string,\n ) {\n this.resources = [];\n this.currentIndex = 0;\n this.currentPartitionIndex = 0;\n this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions];\n this.options = options || {};\n this.continuationToken =\n this.options.continuationToken || this.options.continuation || undefined;\n this.state = DefaultQueryExecutionContext.STATES.start;\n this.correlatedActivityId = correlatedActivityId;\n }\n\n /**\n * Execute a provided callback on the next element in the execution context.\n */\n public async nextItem(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n ++this.currentIndex;\n const response = await this.current(diagnosticNode);\n return response;\n }\n\n /**\n * Retrieve the current element on the execution context.\n */\n public async current(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.currentIndex < this.resources.length) {\n return {\n result: this.resources[this.currentIndex],\n headers: getInitialHeader(),\n };\n }\n\n if (this._canFetchMore()) {\n const { result: resources, headers } = await this.fetchMore(diagnosticNode);\n this.resources = resources;\n if (this.resources.length === 0) {\n if (!this.continuationToken && this.currentPartitionIndex >= this.fetchFunctions.length) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return { result: undefined, headers };\n } else {\n return this.current(diagnosticNode);\n }\n }\n return { result: this.resources[this.currentIndex], headers };\n } else {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n }\n\n /**\n * Determine if there are still remaining resources to processs based on\n * the value of the continuation token or the elements remaining on the current batch in the execution context.\n *\n * @returns true if there is other elements to process in the DefaultQueryExecutionContext.\n */\n public hasMoreResults(): boolean {\n return (\n this.state === DefaultQueryExecutionContext.STATES.start ||\n this.continuationToken !== undefined ||\n this.currentIndex < this.resources.length - 1 ||\n this.currentPartitionIndex < this.fetchFunctions.length\n );\n }\n\n /**\n * Fetches the next batch of the feed and pass them as an array to a callback\n */\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n return addDiagnosticChild(\n async (childDiagnosticNode: DiagnosticNodeInternal) => {\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n // Keep to the original continuation and to restore the value after fetchFunction call\n const originalContinuation = this.options.continuationToken || this.options.continuation;\n this.options.continuationToken = this.continuationToken;\n\n // Return undefined if there is no more results\n if (this.currentPartitionIndex >= this.fetchFunctions.length) {\n return {\n headers: getInitialHeader(),\n result: undefined,\n };\n }\n\n let resources;\n let responseHeaders;\n try {\n let p: Promise<Response<any>>;\n if (this.nextFetchFunction !== undefined) {\n logger.verbose(\"using prefetch\");\n p = this.nextFetchFunction;\n this.nextFetchFunction = undefined;\n } else {\n logger.verbose(\"using fresh fetch\");\n p = this.fetchFunctions[this.currentPartitionIndex](\n childDiagnosticNode,\n this.options,\n this.correlatedActivityId,\n );\n }\n const response = await p;\n resources = response.result;\n childDiagnosticNode.recordQueryResult(resources, CosmosDbDiagnosticLevel.debugUnsafe);\n responseHeaders = response.headers;\n this.continuationToken = responseHeaders[Constants.HttpHeaders.Continuation];\n if (!this.continuationToken) {\n ++this.currentPartitionIndex;\n }\n\n if (this.options && this.options.bufferItems === true) {\n const fetchFunction = this.fetchFunctions[this.currentPartitionIndex];\n this.nextFetchFunction = fetchFunction\n ? fetchFunction(\n childDiagnosticNode,\n {\n ...this.options,\n continuationToken: this.continuationToken,\n },\n this.correlatedActivityId,\n )\n : undefined;\n }\n } catch (err: any) {\n this.state = DefaultQueryExecutionContext.STATES.ended;\n // return callback(err, undefined, responseHeaders);\n // TODO: Error and data being returned is an antipattern, this might broken\n throw err;\n }\n\n this.state = DefaultQueryExecutionContext.STATES.inProgress;\n this.currentIndex = 0;\n this.options.continuationToken = originalContinuation;\n this.options.continuation = originalContinuation;\n\n // deserializing query metrics so that we aren't working with delimited strings in the rest of the code base\n if (Constants.HttpHeaders.QueryMetrics in responseHeaders) {\n const delimitedString = responseHeaders[Constants.HttpHeaders.QueryMetrics];\n let queryMetrics = QueryMetrics.createFromDelimitedString(delimitedString);\n\n // Add the request charge to the query metrics so that we can have per partition request charge.\n if (Constants.HttpHeaders.RequestCharge in responseHeaders) {\n const requestCharge = Number(responseHeaders[Constants.HttpHeaders.RequestCharge]) || 0;\n queryMetrics = new QueryMetrics(\n queryMetrics.retrievedDocumentCount,\n queryMetrics.retrievedDocumentSize,\n queryMetrics.outputDocumentCount,\n queryMetrics.outputDocumentSize,\n queryMetrics.indexHitDocumentCount,\n queryMetrics.totalQueryExecutionTime,\n queryMetrics.queryPreparationTimes,\n queryMetrics.indexLookupTime,\n queryMetrics.documentLoadTime,\n queryMetrics.vmExecutionTime,\n queryMetrics.runtimeExecutionTimes,\n queryMetrics.documentWriteTime,\n new ClientSideMetrics(requestCharge),\n );\n }\n\n // Wraping query metrics in a object where the key is '0' just so single partition\n // and partition queries have the same response schema\n responseHeaders[Constants.HttpHeaders.QueryMetrics] = {};\n responseHeaders[Constants.HttpHeaders.QueryMetrics][\"0\"] = queryMetrics;\n }\n\n return { result: resources, headers: responseHeaders };\n },\n diagnosticNode,\n DiagnosticNodeType.DEFAULT_QUERY_NODE,\n {\n queryMethodIdentifier: \"fetchMore\",\n },\n );\n }\n\n private _canFetchMore(): boolean {\n const res =\n this.state === DefaultQueryExecutionContext.STATES.start ||\n (this.continuationToken && this.state === DefaultQueryExecutionContext.STATES.inProgress) ||\n (this.currentPartitionIndex < this.fetchFunctions.length &&\n this.state === DefaultQueryExecutionContext.STATES.inProgress);\n return res;\n }\n}\n"]}
@@ -6,7 +6,7 @@ import type { Response } from "../request/index.js";
6
6
  import type { FetchFunctionCallback } from "./defaultQueryExecutionContext.js";
7
7
  import { FetchResult } from "./FetchResult.js";
8
8
  import type { CosmosHeaders } from "./headerUtils.js";
9
- import type { SqlQuerySpec } from "./index.js";
9
+ import type { SqlQuerySpec, FilterStrategy } from "./index.js";
10
10
  /** @hidden */
11
11
  export declare class DocumentProducer {
12
12
  private clientContext;
@@ -23,6 +23,8 @@ export declare class DocumentProducer {
23
23
  startEpk: string;
24
24
  endEpk: string;
25
25
  populateEpkRangeHeaders: boolean;
26
+ private filter?;
27
+ private queryExecutionInfo?;
26
28
  /**
27
29
  * Provides the Target Partition Range Query Execution Context.
28
30
  * @param clientContext - The service endpoint to use to create the client.
@@ -31,7 +33,7 @@ export declare class DocumentProducer {
31
33
  * @param targetPartitionKeyRange - Query Target Partition key Range
32
34
  * @hidden
33
35
  */
34
- constructor(clientContext: ClientContext, collectionLink: string, query: SqlQuerySpec, targetPartitionKeyRange: PartitionKeyRange, options: FeedOptions, correlatedActivityId: string, startEpk?: string, endEpk?: string, populateEpkRangeHeaders?: boolean);
36
+ constructor(clientContext: ClientContext, collectionLink: string, query: SqlQuerySpec, targetPartitionKeyRange: PartitionKeyRange, options: FeedOptions, correlatedActivityId: string, startEpk?: string, endEpk?: string, populateEpkRangeHeaders?: boolean, filter?: FilterStrategy);
35
37
  peekBufferedItems(): any[];
36
38
  fetchFunction: FetchFunctionCallback;
37
39
  hasMoreResults(): boolean;
@@ -42,7 +44,7 @@ export declare class DocumentProducer {
42
44
  * Fetches and bufferes the next page of results in internal buffer
43
45
  */
44
46
  bufferMore(diagnosticNode: DiagnosticNodeInternal): Promise<CosmosHeaders>;
45
- getTargetParitionKeyRange(): PartitionKeyRange;
47
+ getTargetPartitionKeyRange(): PartitionKeyRange;
46
48
  /**
47
49
  * Peak the next item in the buffer
48
50
  */
@@ -59,5 +61,9 @@ export declare class DocumentProducer {
59
61
  * Retrieve the current element on the DocumentProducer.
60
62
  */
61
63
  private current;
64
+ getQueryExecutionInfo(): {
65
+ reverseRidEnabled: boolean;
66
+ reverseIndexScan: boolean;
67
+ } | undefined;
62
68
  }
63
69
  //# sourceMappingURL=documentProducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentProducer.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/documentProducer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,cAAc;AACd,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,aAAa;IAvBvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAwB;IAC9B,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAQ;IACZ,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAK;IAC9B,OAAO,CAAC,wBAAwB,CAA+B;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,OAAO,CAAC;IAExC;;;;;;;OAOG;gBAEO,aAAa,EAAE,aAAa,EACpC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EACnB,uBAAuB,EAAE,iBAAiB,EAC1C,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,uBAAuB,GAAE,OAAe;IAuBnC,iBAAiB,IAAI,GAAG,EAAE;IAmB1B,aAAa,EAAE,qBAAqB,CAwBzC;IAEK,cAAc,IAAI,OAAO;IAIzB,QAAQ,IAAI,OAAO;IAY1B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,MAAM,CAAC,kCAAkC;IASjD;;OAEG;IACU,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkDhF,yBAAyB,IAAI,iBAAiB;IAGrD;;OAEG;IACI,YAAY,IAAI,GAAG;IAqB1B;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAoBpD;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IA6B3D;;OAEG;IACH,OAAO,CAAC,OAAO;CAiChB"}
1
+ {"version":3,"file":"documentProducer.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/documentProducer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D,cAAc;AACd,qBAAa,gBAAgB;IA0BzB,OAAO,CAAC,aAAa;IAzBvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAAwB;IAC9B,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAQ;IACZ,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAK;IAC9B,OAAO,CAAC,wBAAwB,CAA+B;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,OAAO,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,kBAAkB,CAAC,CAA4D;IAEvF;;;;;;;OAOG;gBAEO,aAAa,EAAE,aAAa,EACpC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EACnB,uBAAuB,EAAE,iBAAiB,EAC1C,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,uBAAuB,GAAE,OAAe,EACxC,MAAM,CAAC,EAAE,cAAc;IAwBlB,iBAAiB,IAAI,GAAG,EAAE;IAmB1B,aAAa,EAAE,qBAAqB,CAwBzC;IAEK,cAAc,IAAI,OAAO;IAIzB,QAAQ,IAAI,OAAO;IAY1B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,MAAM,CAAC,kCAAkC;IASjD;;OAEG;IACU,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2DhF,0BAA0B,IAAI,iBAAiB;IAGtD;;OAEG;IACI,YAAY,IAAI,GAAG;IAqB1B;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAoBpD;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IA6B3D;;OAEG;IACH,OAAO,CAAC,OAAO;IAkCR,qBAAqB,IACxB;QAAE,iBAAiB,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,GACzD,SAAS;CAGd"}
@@ -18,6 +18,8 @@ export class DocumentProducer {
18
18
  startEpk;
19
19
  endEpk;
20
20
  populateEpkRangeHeaders;
21
+ filter;
22
+ queryExecutionInfo;
21
23
  /**
22
24
  * Provides the Target Partition Range Query Execution Context.
23
25
  * @param clientContext - The service endpoint to use to create the client.
@@ -26,7 +28,7 @@ export class DocumentProducer {
26
28
  * @param targetPartitionKeyRange - Query Target Partition key Range
27
29
  * @hidden
28
30
  */
29
- constructor(clientContext, collectionLink, query, targetPartitionKeyRange, options, correlatedActivityId, startEpk, endEpk, populateEpkRangeHeaders = false) {
31
+ constructor(clientContext, collectionLink, query, targetPartitionKeyRange, options, correlatedActivityId, startEpk, endEpk, populateEpkRangeHeaders = false, filter) {
30
32
  this.clientContext = clientContext;
31
33
  // TODO: any options
32
34
  this.collectionLink = collectionLink;
@@ -41,6 +43,7 @@ export class DocumentProducer {
41
43
  this.startEpk = startEpk;
42
44
  this.endEpk = endEpk;
43
45
  this.populateEpkRangeHeaders = populateEpkRangeHeaders;
46
+ this.filter = filter;
44
47
  }
45
48
  peekBufferedItems() {
46
49
  const bufferedResults = [];
@@ -123,9 +126,16 @@ export class DocumentProducer {
123
126
  throw this.err;
124
127
  }
125
128
  try {
126
- const { result: resources, headers: headerResponse } = await this.internalExecutionContext.fetchMore(diagnosticNode);
129
+ const { result: resourcesResult, headers: headerResponse } = await this.internalExecutionContext.fetchMore(diagnosticNode);
130
+ let resources = resourcesResult;
127
131
  ++this.generation;
128
132
  this._updateStates(undefined, resources === undefined);
133
+ if (headerResponse && headerResponse["x-ms-cosmos-query-execution-info"]) {
134
+ this.queryExecutionInfo = JSON.parse(headerResponse["x-ms-cosmos-query-execution-info"]);
135
+ }
136
+ if (this.filter && resources) {
137
+ resources = this.filter.applyFilter(resources);
138
+ }
129
139
  if (resources !== undefined) {
130
140
  // add fetched header to the 1st element in the buffer
131
141
  let addHeaderToFetchResult = true;
@@ -159,7 +169,7 @@ export class DocumentProducer {
159
169
  }
160
170
  }
161
171
  }
162
- getTargetParitionKeyRange() {
172
+ getTargetPartitionKeyRange() {
163
173
  return this.targetPartitionKeyRange;
164
174
  }
165
175
  /**
@@ -199,7 +209,7 @@ export class DocumentProducer {
199
209
  if (result === undefined || result.length === 0) {
200
210
  return { result: undefined, headers };
201
211
  }
202
- return { result, headers }; //
212
+ return { result, headers };
203
213
  }
204
214
  catch (err) {
205
215
  this._updateStates(err, err.item === undefined);
@@ -273,5 +283,8 @@ export class DocumentProducer {
273
283
  // If the internal buffer is empty, return empty result
274
284
  return { result: [], headers: getInitialHeader() };
275
285
  }
286
+ getQueryExecutionInfo() {
287
+ return this.queryExecutionInfo;
288
+ }
276
289
  }
277
290
  //# sourceMappingURL=documentProducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentProducer.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/documentProducer.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,cAAc;AACd,MAAM,OAAO,gBAAgB;IAwBjB;IAvBF,cAAc,CAAS;IACvB,KAAK,CAAwB;IAC9B,uBAAuB,CAAoB;IAC3C,YAAY,CAAgB;IAC5B,UAAU,CAAU;IACnB,GAAG,CAAQ;IACZ,yBAAyB,CAAS;IAClC,iBAAiB,CAAS;IAC1B,UAAU,GAAW,CAAC,CAAC;IACtB,wBAAwB,CAA+B;IACxD,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,uBAAuB,CAAU;IAExC;;;;;;;OAOG;IACH,YACU,aAA4B,EACpC,cAAsB,EACtB,KAAmB,EACnB,uBAA0C,EAC1C,OAAoB,EACpB,oBAA4B,EAC5B,QAAiB,EACjB,MAAe,EACf,0BAAmC,KAAK;QARhC,kBAAa,GAAb,aAAa,CAAe;QAUpC,oBAAoB;QACpB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QAErB,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAEnC,IAAI,CAAC,wBAAwB,GAAG,IAAI,4BAA4B,CAC9D,OAAO,EACP,IAAI,CAAC,aAAa,EAClB,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IACzD,CAAC;IACM,iBAAiB;QACtB,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,QAAQ,WAAW,CAAC,eAAe,EAAE,CAAC;gBACpC,KAAK,eAAe,CAAC,IAAI;oBACvB,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM;gBACR,KAAK,eAAe,CAAC,SAAS;oBAC5B,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM;gBACR,KAAK,eAAe,CAAC,MAAM;oBACzB,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC/C,MAAM;YACV,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,aAAa,GAA0B,KAAK,EACjD,cAAsC,EACtC,OAAoB,EACpB,oBAA4B,EACC,EAAE;QAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACrE,cAAc,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtE,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAClC,IAAI;YACJ,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/B,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO;YACP,cAAc;YACd,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACvD,oBAAoB,EAAE,oBAAoB;YAC1C,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC,CAAC;IAEK,cAAc;QACnB,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1F,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,WAAW,CAAC,eAAe,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBAC9D,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3E,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,GAAQ,EAAE,UAAmB;QACjD,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/E,kBAAkB;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;IAC3E,CAAC;IAEO,MAAM,CAAC,kCAAkC,CAAC,KAAU;QAC1D,cAAc;QACd,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;YAC/B,WAAW,IAAI,KAAK;YACpB,KAAK,CAAC,WAAW,CAAC,KAAK,cAAc,CAAC,qBAAqB,CAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,cAAsC;QAC5D,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,GAClD,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAChE,EAAE,IAAI,CAAC,UAAU,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC;YACvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,sDAAsD;gBACtD,IAAI,sBAAsB,GAAG,IAAI,CAAC;gBAClC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,WAAW,CACb,OAAO,EACP,SAAS,EACT,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAC7D,CACF,CAAC;oBACF,sBAAsB,GAAG,KAAK,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,iFAAiF;YACjF,IAAI,cAAc,IAAI,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;gBACnF,gEAAgE;gBAChE,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE7E,gFAAgF;gBAChF,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACxD,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBACjF,YAAY,CAAC;YACjB,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,qBAAqB;gBACrB,8FAA8F;gBAC9F,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACtC,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;gBACrD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IACD;;OAEG;IACI,YAAY;QACjB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEzC,QAAQ,WAAW,CAAC,eAAe,EAAE,CAAC;YACpC,KAAK,eAAe,CAAC,IAAI;gBACvB,OAAO,SAAS,CAAC;YAEnB,KAAK,eAAe,CAAC,SAAS,EAAE,0BAA0B;gBACxD,OAAO,SAAS,CAAC;YAEnB,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,WAAW,CAAC,YAAY,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;YACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;QAChC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD;;OAEG;IACI,KAAK,CAAC,kBAAkB;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;gBACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO;wBACL,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;wBACpD,OAAO,EAAE,gBAAgB,EAAE;qBAC5B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,OAAO;QACb,0CAA0C;QAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC9C,+BAA+B;YAC/B,QAAQ,WAAW,CAAC,eAAe,EAAE,CAAC;gBACpC,KAAK,eAAe,CAAC,IAAI;oBACvB,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,gBAAgB,EAAE;qBAC5B,CAAC;gBACJ,KAAK,eAAe,CAAC,SAAS;oBAC5B,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAC;oBAC/C,MAAM,WAAW,CAAC,KAAK,CAAC;gBAC1B,KAAK,eAAe,CAAC,MAAM;oBACzB,OAAO;wBACL,MAAM,EAAE,WAAW,CAAC,YAAY;wBAChC,OAAO,EAAE,gBAAgB,EAAE;qBAC5B,CAAC;YACN,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,gBAAgB,EAAE;aAC5B,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC;IACrD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { PartitionKeyRange, Resource } from \"../client/index.js\";\nimport type { ClientContext } from \"../ClientContext.js\";\nimport {\n Constants,\n getIdFromLink,\n getPathFromLink,\n ResourceType,\n StatusCodes,\n SubStatusCodes,\n} from \"../common/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type { FeedOptions } from \"../request/index.js\";\nimport type { Response } from \"../request/index.js\";\nimport { DefaultQueryExecutionContext } from \"./defaultQueryExecutionContext.js\";\nimport type { FetchFunctionCallback } from \"./defaultQueryExecutionContext.js\";\nimport { FetchResult, FetchResultType } from \"./FetchResult.js\";\nimport { getInitialHeader } from \"./headerUtils.js\";\nimport type { CosmosHeaders } from \"./headerUtils.js\";\nimport type { SqlQuerySpec } from \"./index.js\";\n\n/** @hidden */\nexport class DocumentProducer {\n private collectionLink: string;\n private query: string | SqlQuerySpec;\n public targetPartitionKeyRange: PartitionKeyRange;\n public fetchResults: FetchResult[];\n public allFetched: boolean;\n private err: Error;\n public previousContinuationToken: string;\n public continuationToken: string;\n public generation: number = 0;\n private internalExecutionContext: DefaultQueryExecutionContext;\n public startEpk: string;\n public endEpk: string;\n public populateEpkRangeHeaders: boolean;\n\n /**\n * Provides the Target Partition Range Query Execution Context.\n * @param clientContext - The service endpoint to use to create the client.\n * @param collectionLink - Represents collection link\n * @param query - A SQL query.\n * @param targetPartitionKeyRange - Query Target Partition key Range\n * @hidden\n */\n constructor(\n private clientContext: ClientContext,\n collectionLink: string,\n query: SqlQuerySpec,\n targetPartitionKeyRange: PartitionKeyRange,\n options: FeedOptions,\n correlatedActivityId: string,\n startEpk?: string,\n endEpk?: string,\n populateEpkRangeHeaders: boolean = false,\n ) {\n // TODO: any options\n this.collectionLink = collectionLink;\n this.query = query;\n this.targetPartitionKeyRange = targetPartitionKeyRange;\n this.fetchResults = [];\n\n this.allFetched = false;\n this.err = undefined;\n\n this.previousContinuationToken = undefined;\n this.continuationToken = undefined;\n\n this.internalExecutionContext = new DefaultQueryExecutionContext(\n options,\n this.fetchFunction,\n correlatedActivityId,\n );\n this.startEpk = startEpk;\n this.endEpk = endEpk;\n this.populateEpkRangeHeaders = populateEpkRangeHeaders;\n }\n public peekBufferedItems(): any[] {\n const bufferedResults = [];\n for (let i = 0, done = false; i < this.fetchResults.length && !done; i++) {\n const fetchResult = this.fetchResults[i];\n switch (fetchResult.fetchResultType) {\n case FetchResultType.Done:\n done = true;\n break;\n case FetchResultType.Exception:\n done = true;\n break;\n case FetchResultType.Result:\n bufferedResults.push(fetchResult.feedResponse);\n break;\n }\n }\n return bufferedResults;\n }\n\n public fetchFunction: FetchFunctionCallback = async (\n diagnosticNode: DiagnosticNodeInternal,\n options: FeedOptions,\n correlatedActivityId: string,\n ): Promise<Response<Resource>> => {\n const path = getPathFromLink(this.collectionLink, ResourceType.item);\n diagnosticNode.addData({ partitionKeyRangeId: this.targetPartitionKeyRange.id });\n const id = getIdFromLink(this.collectionLink);\n const startEpk = this.populateEpkRangeHeaders ? this.startEpk : undefined;\n const endEpk = this.populateEpkRangeHeaders ? this.endEpk : undefined;\n\n return this.clientContext.queryFeed({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n resultFn: (result: any) => result.Documents,\n query: this.query,\n options,\n diagnosticNode,\n partitionKeyRangeId: this.targetPartitionKeyRange[\"id\"],\n correlatedActivityId: correlatedActivityId,\n startEpk: startEpk,\n endEpk: endEpk,\n });\n };\n\n public hasMoreResults(): boolean {\n return this.internalExecutionContext.hasMoreResults() || this.fetchResults.length !== 0;\n }\n\n public gotSplit(): boolean {\n if (this.fetchResults.length !== 0) {\n const fetchResult = this.fetchResults[0];\n if (fetchResult.fetchResultType === FetchResultType.Exception) {\n if (DocumentProducer._needPartitionKeyRangeCacheRefresh(fetchResult.error)) {\n return true;\n }\n }\n }\n return false;\n }\n\n private _updateStates(err: any, allFetched: boolean): void {\n if (err) {\n this.err = err;\n return;\n }\n if (allFetched) {\n this.allFetched = true;\n }\n if (this.internalExecutionContext.continuationToken === this.continuationToken) {\n // nothing changed\n return;\n }\n this.previousContinuationToken = this.continuationToken;\n this.continuationToken = this.internalExecutionContext.continuationToken;\n }\n\n private static _needPartitionKeyRangeCacheRefresh(error: any): boolean {\n // TODO: error\n return (\n error.code === StatusCodes.Gone &&\n \"substatus\" in error &&\n error[\"substatus\"] === SubStatusCodes.PartitionKeyRangeGone\n );\n }\n\n /**\n * Fetches and bufferes the next page of results in internal buffer\n */\n public async bufferMore(diagnosticNode: DiagnosticNodeInternal): Promise<CosmosHeaders> {\n if (this.err) {\n throw this.err;\n }\n\n try {\n const { result: resources, headers: headerResponse } =\n await this.internalExecutionContext.fetchMore(diagnosticNode);\n ++this.generation;\n this._updateStates(undefined, resources === undefined);\n if (resources !== undefined) {\n // add fetched header to the 1st element in the buffer\n let addHeaderToFetchResult = true;\n resources.forEach((element: any) => {\n this.fetchResults.push(\n new FetchResult(\n element,\n undefined,\n addHeaderToFetchResult ? headerResponse : getInitialHeader(),\n ),\n );\n addHeaderToFetchResult = false;\n });\n }\n\n // need to modify the header response so that the query metrics are per partition\n if (headerResponse != null && Constants.HttpHeaders.QueryMetrics in headerResponse) {\n // \"0\" is the default partition before one is actually assigned.\n const queryMetrics = headerResponse[Constants.HttpHeaders.QueryMetrics][\"0\"];\n\n // Wraping query metrics in a object where the keys are the partition key range.\n headerResponse[Constants.HttpHeaders.QueryMetrics] = {};\n headerResponse[Constants.HttpHeaders.QueryMetrics][this.targetPartitionKeyRange.id] =\n queryMetrics;\n }\n return headerResponse;\n } catch (err: any) {\n if (DocumentProducer._needPartitionKeyRangeCacheRefresh(err)) {\n // Split just happend\n // Buffer the error so the execution context can still get the feedResponses in the itemBuffer\n const bufferedError = new FetchResult(undefined, err);\n this.fetchResults.push(bufferedError);\n return err.headers;\n } else {\n this._updateStates(err, err.resources === undefined);\n throw err;\n }\n }\n }\n\n public getTargetParitionKeyRange(): PartitionKeyRange {\n return this.targetPartitionKeyRange;\n }\n /**\n * Peak the next item in the buffer\n */\n public peakNextItem(): any {\n if (this.err) {\n throw this.err;\n }\n if (this.allFetched || this.fetchResults.length === 0) {\n return undefined;\n }\n const fetchResult = this.fetchResults[0];\n\n switch (fetchResult.fetchResultType) {\n case FetchResultType.Done:\n return undefined;\n\n case FetchResultType.Exception: // do not throw this error\n return undefined;\n\n case FetchResultType.Result:\n return fetchResult.feedResponse;\n }\n }\n\n /**\n * Returns the first item in the buffered results if any, or [] otherwise.\n */\n public async fetchNextItem(): Promise<Response<any>> {\n if (this.err) {\n this._updateStates(this.err, undefined);\n throw this.err;\n }\n if (this.allFetched) {\n return { result: undefined, headers: getInitialHeader() };\n }\n try {\n const { result, headers } = this.current();\n this._updateStates(undefined, result === undefined);\n if (result === undefined || result.length === 0) {\n return { result: undefined, headers };\n }\n return { result, headers }; //\n } catch (err: any) {\n this._updateStates(err, err.item === undefined);\n throw err;\n }\n }\n /**\n * Fetches all the buffered results\n */\n public async fetchBufferedItems(): Promise<Response<any[]>> {\n if (this.err) {\n this._updateStates(this.err, undefined);\n throw this.err;\n }\n if (this.allFetched) {\n return { result: undefined, headers: getInitialHeader() };\n }\n const resources: any[] = [];\n try {\n while (this.fetchResults.length > 0) {\n const { result } = this.current();\n this._updateStates(undefined, result === undefined);\n if (result === undefined) {\n return {\n result: resources.length > 0 ? resources : undefined,\n headers: getInitialHeader(),\n };\n } else {\n resources.push(result);\n }\n }\n return { result: resources, headers: getInitialHeader() };\n } catch (err: any) {\n this._updateStates(err, err.item === undefined);\n throw err;\n }\n }\n\n /**\n * Retrieve the current element on the DocumentProducer.\n */\n private current(): Response<any> {\n // If something is buffered just give that\n if (this.fetchResults.length > 0) {\n const fetchResult = this.fetchResults.shift();\n // Need to unwrap fetch results\n switch (fetchResult.fetchResultType) {\n case FetchResultType.Done:\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n case FetchResultType.Exception:\n fetchResult.error.headers = getInitialHeader();\n throw fetchResult.error;\n case FetchResultType.Result:\n return {\n result: fetchResult.feedResponse,\n headers: getInitialHeader(),\n };\n }\n }\n\n // If there isn't anymore items left to fetch then let the user know.\n if (this.allFetched) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n\n // If the internal buffer is empty, return empty result\n return { result: [], headers: getInitialHeader() };\n }\n}\n"]}
1
+ {"version":3,"file":"documentProducer.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/documentProducer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { PartitionKeyRange, Resource } from \"../client/index.js\";\nimport type { ClientContext } from \"../ClientContext.js\";\nimport {\n Constants,\n getIdFromLink,\n getPathFromLink,\n ResourceType,\n StatusCodes,\n SubStatusCodes,\n} from \"../common/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type { FeedOptions } from \"../request/index.js\";\nimport type { Response } from \"../request/index.js\";\nimport { DefaultQueryExecutionContext } from \"./defaultQueryExecutionContext.js\";\nimport type { FetchFunctionCallback } from \"./defaultQueryExecutionContext.js\";\nimport { FetchResult, FetchResultType } from \"./FetchResult.js\";\nimport { getInitialHeader } from \"./headerUtils.js\";\nimport type { CosmosHeaders } from \"./headerUtils.js\";\nimport type { SqlQuerySpec, FilterStrategy } from \"./index.js\";\n\n/** @hidden */\nexport class DocumentProducer {\n private collectionLink: string;\n private query: string | SqlQuerySpec;\n public targetPartitionKeyRange: PartitionKeyRange;\n public fetchResults: FetchResult[];\n public allFetched: boolean;\n private err: Error;\n public previousContinuationToken: string;\n public continuationToken: string;\n public generation: number = 0;\n private internalExecutionContext: DefaultQueryExecutionContext;\n public startEpk: string;\n public endEpk: string;\n public populateEpkRangeHeaders: boolean;\n private filter?: FilterStrategy;\n private queryExecutionInfo?: { reverseRidEnabled: boolean; reverseIndexScan: boolean };\n\n /**\n * Provides the Target Partition Range Query Execution Context.\n * @param clientContext - The service endpoint to use to create the client.\n * @param collectionLink - Represents collection link\n * @param query - A SQL query.\n * @param targetPartitionKeyRange - Query Target Partition key Range\n * @hidden\n */\n constructor(\n private clientContext: ClientContext,\n collectionLink: string,\n query: SqlQuerySpec,\n targetPartitionKeyRange: PartitionKeyRange,\n options: FeedOptions,\n correlatedActivityId: string,\n startEpk?: string,\n endEpk?: string,\n populateEpkRangeHeaders: boolean = false,\n filter?: FilterStrategy,\n ) {\n // TODO: any options\n this.collectionLink = collectionLink;\n this.query = query;\n this.targetPartitionKeyRange = targetPartitionKeyRange;\n this.fetchResults = [];\n\n this.allFetched = false;\n this.err = undefined;\n\n this.previousContinuationToken = undefined;\n this.continuationToken = undefined;\n\n this.internalExecutionContext = new DefaultQueryExecutionContext(\n options,\n this.fetchFunction,\n correlatedActivityId,\n );\n this.startEpk = startEpk;\n this.endEpk = endEpk;\n this.populateEpkRangeHeaders = populateEpkRangeHeaders;\n this.filter = filter;\n }\n public peekBufferedItems(): any[] {\n const bufferedResults = [];\n for (let i = 0, done = false; i < this.fetchResults.length && !done; i++) {\n const fetchResult = this.fetchResults[i];\n switch (fetchResult.fetchResultType) {\n case FetchResultType.Done:\n done = true;\n break;\n case FetchResultType.Exception:\n done = true;\n break;\n case FetchResultType.Result:\n bufferedResults.push(fetchResult.feedResponse);\n break;\n }\n }\n return bufferedResults;\n }\n\n public fetchFunction: FetchFunctionCallback = async (\n diagnosticNode: DiagnosticNodeInternal,\n options: FeedOptions,\n correlatedActivityId: string,\n ): Promise<Response<Resource>> => {\n const path = getPathFromLink(this.collectionLink, ResourceType.item);\n diagnosticNode.addData({ partitionKeyRangeId: this.targetPartitionKeyRange.id });\n const id = getIdFromLink(this.collectionLink);\n const startEpk = this.populateEpkRangeHeaders ? this.startEpk : undefined;\n const endEpk = this.populateEpkRangeHeaders ? this.endEpk : undefined;\n\n return this.clientContext.queryFeed({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n resultFn: (result: any) => result.Documents,\n query: this.query,\n options,\n diagnosticNode,\n partitionKeyRangeId: this.targetPartitionKeyRange[\"id\"],\n correlatedActivityId: correlatedActivityId,\n startEpk: startEpk,\n endEpk: endEpk,\n });\n };\n\n public hasMoreResults(): boolean {\n return this.internalExecutionContext.hasMoreResults() || this.fetchResults.length !== 0;\n }\n\n public gotSplit(): boolean {\n if (this.fetchResults.length !== 0) {\n const fetchResult = this.fetchResults[0];\n if (fetchResult.fetchResultType === FetchResultType.Exception) {\n if (DocumentProducer._needPartitionKeyRangeCacheRefresh(fetchResult.error)) {\n return true;\n }\n }\n }\n return false;\n }\n\n private _updateStates(err: any, allFetched: boolean): void {\n if (err) {\n this.err = err;\n return;\n }\n if (allFetched) {\n this.allFetched = true;\n }\n if (this.internalExecutionContext.continuationToken === this.continuationToken) {\n // nothing changed\n return;\n }\n this.previousContinuationToken = this.continuationToken;\n this.continuationToken = this.internalExecutionContext.continuationToken;\n }\n\n private static _needPartitionKeyRangeCacheRefresh(error: any): boolean {\n // TODO: error\n return (\n error.code === StatusCodes.Gone &&\n \"substatus\" in error &&\n error[\"substatus\"] === SubStatusCodes.PartitionKeyRangeGone\n );\n }\n\n /**\n * Fetches and bufferes the next page of results in internal buffer\n */\n public async bufferMore(diagnosticNode: DiagnosticNodeInternal): Promise<CosmosHeaders> {\n if (this.err) {\n throw this.err;\n }\n\n try {\n const { result: resourcesResult, headers: headerResponse } =\n await this.internalExecutionContext.fetchMore(diagnosticNode);\n let resources = resourcesResult;\n ++this.generation;\n this._updateStates(undefined, resources === undefined);\n if (headerResponse && headerResponse[\"x-ms-cosmos-query-execution-info\"]) {\n this.queryExecutionInfo = JSON.parse(headerResponse[\"x-ms-cosmos-query-execution-info\"]);\n }\n\n if (this.filter && resources) {\n resources = this.filter.applyFilter(resources);\n }\n\n if (resources !== undefined) {\n // add fetched header to the 1st element in the buffer\n let addHeaderToFetchResult = true;\n resources.forEach((element: any) => {\n this.fetchResults.push(\n new FetchResult(\n element,\n undefined,\n addHeaderToFetchResult ? headerResponse : getInitialHeader(),\n ),\n );\n addHeaderToFetchResult = false;\n });\n }\n\n // need to modify the header response so that the query metrics are per partition\n if (headerResponse != null && Constants.HttpHeaders.QueryMetrics in headerResponse) {\n // \"0\" is the default partition before one is actually assigned.\n const queryMetrics = headerResponse[Constants.HttpHeaders.QueryMetrics][\"0\"];\n\n // Wraping query metrics in a object where the keys are the partition key range.\n headerResponse[Constants.HttpHeaders.QueryMetrics] = {};\n headerResponse[Constants.HttpHeaders.QueryMetrics][this.targetPartitionKeyRange.id] =\n queryMetrics;\n }\n return headerResponse;\n } catch (err: any) {\n if (DocumentProducer._needPartitionKeyRangeCacheRefresh(err)) {\n // Split just happend\n // Buffer the error so the execution context can still get the feedResponses in the itemBuffer\n const bufferedError = new FetchResult(undefined, err);\n this.fetchResults.push(bufferedError);\n return err.headers;\n } else {\n this._updateStates(err, err.resources === undefined);\n throw err;\n }\n }\n }\n\n public getTargetPartitionKeyRange(): PartitionKeyRange {\n return this.targetPartitionKeyRange;\n }\n /**\n * Peak the next item in the buffer\n */\n public peakNextItem(): any {\n if (this.err) {\n throw this.err;\n }\n if (this.allFetched || this.fetchResults.length === 0) {\n return undefined;\n }\n const fetchResult = this.fetchResults[0];\n\n switch (fetchResult.fetchResultType) {\n case FetchResultType.Done:\n return undefined;\n\n case FetchResultType.Exception: // do not throw this error\n return undefined;\n\n case FetchResultType.Result:\n return fetchResult.feedResponse;\n }\n }\n\n /**\n * Returns the first item in the buffered results if any, or [] otherwise.\n */\n public async fetchNextItem(): Promise<Response<any>> {\n if (this.err) {\n this._updateStates(this.err, undefined);\n throw this.err;\n }\n if (this.allFetched) {\n return { result: undefined, headers: getInitialHeader() };\n }\n try {\n const { result, headers } = this.current();\n this._updateStates(undefined, result === undefined);\n if (result === undefined || result.length === 0) {\n return { result: undefined, headers };\n }\n return { result, headers };\n } catch (err: any) {\n this._updateStates(err, err.item === undefined);\n throw err;\n }\n }\n /**\n * Fetches all the buffered results\n */\n public async fetchBufferedItems(): Promise<Response<any[]>> {\n if (this.err) {\n this._updateStates(this.err, undefined);\n throw this.err;\n }\n if (this.allFetched) {\n return { result: undefined, headers: getInitialHeader() };\n }\n const resources: any[] = [];\n try {\n while (this.fetchResults.length > 0) {\n const { result } = this.current();\n this._updateStates(undefined, result === undefined);\n if (result === undefined) {\n return {\n result: resources.length > 0 ? resources : undefined,\n headers: getInitialHeader(),\n };\n } else {\n resources.push(result);\n }\n }\n return { result: resources, headers: getInitialHeader() };\n } catch (err: any) {\n this._updateStates(err, err.item === undefined);\n throw err;\n }\n }\n\n /**\n * Retrieve the current element on the DocumentProducer.\n */\n private current(): Response<any> {\n // If something is buffered just give that\n if (this.fetchResults.length > 0) {\n const fetchResult = this.fetchResults.shift();\n // Need to unwrap fetch results\n switch (fetchResult.fetchResultType) {\n case FetchResultType.Done:\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n case FetchResultType.Exception:\n fetchResult.error.headers = getInitialHeader();\n throw fetchResult.error;\n case FetchResultType.Result:\n return {\n result: fetchResult.feedResponse,\n headers: getInitialHeader(),\n };\n }\n }\n\n // If there isn't anymore items left to fetch then let the user know.\n if (this.allFetched) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n\n // If the internal buffer is empty, return empty result\n return { result: [], headers: getInitialHeader() };\n }\n\n public getQueryExecutionInfo():\n | { reverseRidEnabled: boolean; reverseIndexScan: boolean }\n | undefined {\n return this.queryExecutionInfo;\n }\n}\n"]}
@@ -2,7 +2,7 @@ import type { ClientContext } from "../ClientContext.js";
2
2
  import type { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
3
3
  import type { FeedOptions, PartitionedQueryExecutionInfo, QueryRange, Response } from "../request/index.js";
4
4
  import type { ExecutionContext } from "./ExecutionContext.js";
5
- import { SqlQuerySpec } from "./SqlQuerySpec.js";
5
+ import type { SqlQuerySpec } from "./SqlQuerySpec.js";
6
6
  /** @hidden */
7
7
  export declare enum HybridQueryExecutionContextBaseStates {
8
8
  uninitialized = "uninitialized",
@@ -1 +1 @@
1
- {"version":3,"file":"hybridQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/hybridQueryExecutionContext.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EACV,WAAW,EAEX,6BAA6B,EAE7B,UAAU,EACV,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc;AACd,oBAAY,qCAAqC;IAC/C,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AACD,qBAAa,2BAA4B,YAAW,gBAAgB;IAoBhE,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,6BAA6B;IACrC,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,mBAAmB;IAzB7B,OAAO,CAAC,gCAAgC,CAAmB;IAC3D,OAAO,CAAC,0BAA0B,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,qBAAqB,CAAiB;IAC9C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,4BAA4B,CAA4D;IAChG,OAAO,CAAC,4BAA4B,CAA4D;IAChG,OAAO,CAAC,gCAAgC,CACuB;IAC/D,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,MAAM,CAAkE;IAChF,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,iBAAiB,CAAkB;gBAGjC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,GAAG,YAAY,EAC5B,OAAO,EAAE,WAAW,EACpB,6BAA6B,EAAE,6BAA6B,EAC5D,oBAAoB,EAAE,MAAM,EAC5B,mBAAmB,EAAE,UAAU,EAAE;IAsC9B,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiB9E,cAAc,IAAI,OAAO;IAenB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAKzE,iBAAiB;YA2BjB,UAAU;YA4BV,uBAAuB;IAyDrC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,wBAAwB;YAUlB,KAAK;YAqBL,QAAQ;IAoBtB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,gCAAgC;YAiD1B,oBAAoB;IAoDlC,OAAO,CAAC,gCAAgC;IAqCxC,OAAO,CAAC,uBAAuB;IAmD/B,OAAO,CAAC,4BAA4B;IAmCpC,OAAO,CAAC,eAAe,CAerB;IAEF,OAAO,CAAC,uBAAuB;CAmChC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C"}
1
+ {"version":3,"file":"hybridQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/hybridQueryExecutionContext.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EACV,WAAW,EAEX,6BAA6B,EAE7B,UAAU,EACV,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOtD,cAAc;AACd,oBAAY,qCAAqC;IAC/C,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AACD,qBAAa,2BAA4B,YAAW,gBAAgB;IAoBhE,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,6BAA6B;IACrC,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,mBAAmB;IAzB7B,OAAO,CAAC,gCAAgC,CAAmB;IAC3D,OAAO,CAAC,0BAA0B,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,qBAAqB,CAAiB;IAC9C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,4BAA4B,CAA4D;IAChG,OAAO,CAAC,4BAA4B,CAA4D;IAChG,OAAO,CAAC,gCAAgC,CACuB;IAC/D,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,MAAM,CAAkE;IAChF,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,iBAAiB,CAAkB;gBAGjC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,GAAG,YAAY,EAC5B,OAAO,EAAE,WAAW,EACpB,6BAA6B,EAAE,6BAA6B,EAC5D,oBAAoB,EAAE,MAAM,EAC5B,mBAAmB,EAAE,UAAU,EAAE;IA0C9B,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiB9E,cAAc,IAAI,OAAO;IAenB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAKzE,iBAAiB;YA2BjB,UAAU;YA6BV,uBAAuB;IA2DrC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,wBAAwB;YAUlB,KAAK;YAqBL,QAAQ;IAoBtB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,gCAAgC;YAiD1B,oBAAoB;IAuDlC,OAAO,CAAC,gCAAgC;IAqCxC,OAAO,CAAC,uBAAuB;IAmD/B,OAAO,CAAC,4BAA4B;IAmCpC,OAAO,CAAC,eAAe,CAerB;IAEF,OAAO,CAAC,uBAAuB;CAmChC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C"}
@@ -6,6 +6,7 @@ import { GlobalStatisticsAggregator } from "./Aggregators/GlobalStatisticsAggreg
6
6
  import { getInitialHeader, mergeHeaders } from "./headerUtils.js";
7
7
  import { ParallelQueryExecutionContext } from "./parallelQueryExecutionContext.js";
8
8
  import { PipelinedQueryExecutionContext } from "./pipelinedQueryExecutionContext.js";
9
+ import { rejectContinuationTokenForUnsupportedQueries, QueryTypes, } from "./QueryValidationHelper.js";
9
10
  /** @hidden */
10
11
  export var HybridQueryExecutionContextBaseStates;
11
12
  (function (HybridQueryExecutionContextBaseStates) {
@@ -46,6 +47,9 @@ export class HybridQueryExecutionContext {
46
47
  this.partitionedQueryExecutionInfo = partitionedQueryExecutionInfo;
47
48
  this.correlatedActivityId = correlatedActivityId;
48
49
  this.allPartitionsRanges = allPartitionsRanges;
50
+ rejectContinuationTokenForUnsupportedQueries(this.options.continuationToken, [
51
+ QueryTypes.hybridSearch(true),
52
+ ]);
49
53
  this.state = HybridQueryExecutionContextBaseStates.uninitialized;
50
54
  this.pageSize = this.options.maxItemCount;
51
55
  if (this.pageSize === undefined) {
@@ -133,7 +137,8 @@ export class HybridQueryExecutionContext {
133
137
  const result = await this.globalStatisticsExecutionContext.fetchMore(diagnosticNode);
134
138
  mergeHeaders(fetchMoreRespHeaders, result.headers);
135
139
  if (result && result.result) {
136
- for (const item of result.result) {
140
+ const resultData = result.result.buffer;
141
+ for (const item of resultData) {
137
142
  const globalStatistics = item;
138
143
  if (globalStatistics) {
139
144
  // iterate over the components update placeholders from globalStatistics
@@ -163,10 +168,10 @@ export class HybridQueryExecutionContext {
163
168
  const componentExecutionContext = this.componentsExecutionContext.pop();
164
169
  if (componentExecutionContext.hasMoreResults()) {
165
170
  const result = await componentExecutionContext.fetchMore(diagnosticNode);
166
- const response = result.result;
167
171
  mergeHeaders(fetchMoreRespHeaders, result.headers);
168
- if (response) {
169
- response.forEach((item) => {
172
+ const resultData = result.result;
173
+ if (result && resultData) {
174
+ resultData.forEach((item) => {
170
175
  const hybridItem = HybridSearchQueryResult.create(item);
171
176
  if (!this.uniqueItems.has(hybridItem.rid)) {
172
177
  this.uniqueItems.set(hybridItem.rid, hybridItem);
@@ -186,10 +191,10 @@ export class HybridQueryExecutionContext {
186
191
  for (const componentExecutionContext of this.componentsExecutionContext) {
187
192
  while (componentExecutionContext.hasMoreResults()) {
188
193
  const result = await componentExecutionContext.fetchMore(diagnosticNode);
189
- const response = result.result;
190
194
  mergeHeaders(fetchMoreRespHeaders, result.headers);
191
- if (response) {
192
- response.forEach((item) => {
195
+ const resultData = result.result;
196
+ if (result && resultData) {
197
+ resultData.forEach((item) => {
193
198
  const hybridItem = HybridSearchQueryResult.create(item);
194
199
  if (!this.uniqueItems.has(hybridItem.rid)) {
195
200
  this.uniqueItems.set(hybridItem.rid, hybridItem);
@@ -323,10 +328,10 @@ export class HybridQueryExecutionContext {
323
328
  const componentExecutionContext = this.componentsExecutionContext[0];
324
329
  if (componentExecutionContext.hasMoreResults()) {
325
330
  const result = await componentExecutionContext.fetchMore(diagNode);
326
- const response = result.result;
327
331
  mergeHeaders(fetchMoreRespHeaders, result.headers);
328
- if (response) {
329
- response.forEach((item) => {
332
+ const resultData = result.result;
333
+ if (result && resultData) {
334
+ resultData.forEach((item) => {
330
335
  this.hybridSearchResult.push(HybridSearchQueryResult.create(item));
331
336
  });
332
337
  }
@@ -345,10 +350,10 @@ export class HybridQueryExecutionContext {
345
350
  // add check for enable query control
346
351
  while (componentExecutionContext.hasMoreResults()) {
347
352
  const result = await componentExecutionContext.fetchMore(diagNode);
348
- const response = result.result;
349
353
  mergeHeaders(fetchMoreRespHeaders, result.headers);
350
- if (response) {
351
- response.forEach((item) => {
354
+ const resultData = result.result;
355
+ if (result && resultData) {
356
+ resultData.forEach((item) => {
352
357
  hybridSearchResult.push(HybridSearchQueryResult.create(item));
353
358
  });
354
359
  }