@azure/cosmos 4.7.0 → 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 (814) 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/request/RequestHandler.d.ts.map +1 -1
  199. package/dist/browser/request/RequestHandler.js +10 -4
  200. package/dist/browser/request/RequestHandler.js.map +1 -1
  201. package/dist/browser/utils/offers.d.ts.map +1 -1
  202. package/dist/browser/utils/offers.js +0 -1
  203. package/dist/browser/utils/offers.js.map +1 -1
  204. package/dist/commonjs/CosmosClientOptions.d.ts +1 -1
  205. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  206. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  207. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +1 -33
  208. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  209. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  210. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +1 -34
  211. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  212. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  213. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  214. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  215. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  216. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  217. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  218. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  219. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  220. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +48 -0
  221. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  222. package/dist/commonjs/common/constants.d.ts.map +1 -1
  223. package/dist/commonjs/common/constants.js +13 -2
  224. package/dist/commonjs/common/constants.js.map +1 -1
  225. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  226. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  227. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  228. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  229. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  230. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  231. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  232. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  233. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  234. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  235. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  236. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  237. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts +4 -0
  238. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  239. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +4 -0
  240. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +1 -1
  241. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  242. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  243. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  244. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  245. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  246. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  247. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  248. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  249. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  250. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  251. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  252. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  253. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  254. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  255. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  256. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  257. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  258. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  259. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  260. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  261. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  262. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  263. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  264. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  265. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  266. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  267. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  269. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  271. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  272. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  274. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  275. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  276. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  278. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  280. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  281. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  282. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  283. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  284. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  285. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  286. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  287. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  288. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  289. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  290. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  291. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  292. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  293. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  294. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  295. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  296. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  297. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  298. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  299. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  300. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  301. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  302. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  303. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  304. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  305. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  306. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  307. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  308. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  309. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  310. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  311. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  312. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  313. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  314. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  315. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  316. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  317. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  318. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  319. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  320. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  321. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  322. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  323. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  324. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  325. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  326. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  327. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  328. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  329. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  330. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  331. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  332. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  333. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  334. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  335. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  336. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  337. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  338. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  339. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  340. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  341. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  342. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  343. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  344. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  345. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  346. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  347. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  348. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  349. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  350. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  351. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  352. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  353. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  354. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  355. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  356. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  357. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  358. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  359. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  360. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  361. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  362. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  363. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  364. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  365. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  366. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  367. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  368. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  369. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  370. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  371. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  372. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  373. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  374. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  375. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  376. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  377. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  378. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  379. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  380. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  381. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  382. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  383. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  384. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  385. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  386. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  387. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  388. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  389. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  390. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  391. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  392. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  393. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  394. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  395. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  396. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  397. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  398. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  399. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  400. package/dist/commonjs/queryIterator.js.map +1 -1
  401. package/dist/commonjs/request/RequestHandler.d.ts.map +1 -1
  402. package/dist/commonjs/request/RequestHandler.js +10 -4
  403. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  404. package/dist/commonjs/tsdoc-metadata.json +1 -1
  405. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  406. package/dist/commonjs/utils/offers.js +0 -1
  407. package/dist/commonjs/utils/offers.js.map +1 -1
  408. package/dist/esm/CosmosClientOptions.d.ts +1 -1
  409. package/dist/esm/CosmosClientOptions.js.map +1 -1
  410. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  411. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  412. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  413. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  414. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  415. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  416. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  417. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  418. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  419. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  420. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  421. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  422. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  423. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  424. package/dist/esm/client/ChangeFeed/changeFeedUtils.js +47 -0
  425. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  426. package/dist/esm/common/constants.d.ts.map +1 -1
  427. package/dist/esm/common/constants.js +16 -1
  428. package/dist/esm/common/constants.js.map +1 -1
  429. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  430. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  431. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  432. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  433. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  434. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  435. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  436. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  437. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  438. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  439. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  440. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  441. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts +4 -0
  442. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  443. package/dist/esm/documents/VectorEmbeddingPolicy.js +4 -0
  444. package/dist/esm/documents/VectorEmbeddingPolicy.js.map +1 -1
  445. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  446. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  447. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  448. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  449. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  450. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  451. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  452. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  453. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  454. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  455. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  456. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  457. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  458. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  459. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  460. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  461. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  462. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  463. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  464. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  465. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  466. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  467. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  468. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  469. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  470. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  471. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  472. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  473. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  474. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  475. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  476. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  477. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  478. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  479. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  480. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  481. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  482. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  483. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  484. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  485. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  486. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  487. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  488. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  489. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  490. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  491. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  492. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  493. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  494. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  495. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  496. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  497. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  498. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  499. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  500. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  501. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  502. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  503. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  504. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  505. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  506. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  507. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  508. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  509. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  510. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  511. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  512. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  513. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  514. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  515. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  516. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  517. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  518. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  519. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  520. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  521. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  522. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  523. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  524. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  525. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  526. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  527. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  528. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  529. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  530. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  531. package/dist/esm/queryExecutionContext/index.js +4 -0
  532. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  533. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  534. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  535. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  536. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  537. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  538. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  539. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  540. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  541. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  542. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  543. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  544. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  545. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  546. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  547. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  548. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  549. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  550. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  551. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  552. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  553. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  554. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  555. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  556. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  557. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  558. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  559. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  560. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  561. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  562. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  563. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  564. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  565. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  566. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  567. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  568. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  569. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  570. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  571. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  572. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  573. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  574. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  575. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  576. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  577. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  578. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  579. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  580. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  581. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  582. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  583. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  584. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  585. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  586. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  587. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  588. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  589. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  590. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  591. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  592. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  593. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  594. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  595. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  596. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  597. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  598. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  599. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  600. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  601. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  602. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  603. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  604. package/dist/esm/queryIterator.js.map +1 -1
  605. package/dist/esm/request/RequestHandler.d.ts.map +1 -1
  606. package/dist/esm/request/RequestHandler.js +10 -4
  607. package/dist/esm/request/RequestHandler.js.map +1 -1
  608. package/dist/esm/utils/offers.d.ts.map +1 -1
  609. package/dist/esm/utils/offers.js +0 -1
  610. package/dist/esm/utils/offers.js.map +1 -1
  611. package/dist/react-native/CosmosClientOptions.d.ts +1 -1
  612. package/dist/react-native/CosmosClientOptions.js.map +1 -1
  613. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  614. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  615. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  616. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  617. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  618. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  619. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  620. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  621. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  622. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  623. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  624. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  625. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  626. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  627. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js +47 -0
  628. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  629. package/dist/react-native/common/constants.d.ts.map +1 -1
  630. package/dist/react-native/common/constants.js +16 -1
  631. package/dist/react-native/common/constants.js.map +1 -1
  632. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  633. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  634. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  635. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  636. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  637. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  638. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  639. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  640. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  641. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  642. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  643. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  644. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts +4 -0
  645. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  646. package/dist/react-native/documents/VectorEmbeddingPolicy.js +4 -0
  647. package/dist/react-native/documents/VectorEmbeddingPolicy.js.map +1 -1
  648. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  649. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  650. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  651. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  652. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  653. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  654. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  655. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  656. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  657. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  658. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  659. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  660. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  661. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  662. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  663. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  664. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  665. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  666. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  667. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  668. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  669. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  670. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  671. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  672. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  673. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  674. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  675. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  676. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  677. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  678. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  679. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  680. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  681. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  682. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  683. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  684. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  685. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  686. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  687. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  688. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  689. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  690. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  691. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  692. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  693. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  694. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  695. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  696. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  697. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  698. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  699. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  700. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  701. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  702. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  703. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  704. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  705. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  706. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  707. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  708. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  709. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  710. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  711. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  712. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  713. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  714. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  715. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  716. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  717. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  718. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  719. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  720. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  721. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  722. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  723. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  724. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  725. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  726. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  727. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  728. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  729. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  730. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  731. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  732. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  733. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  734. package/dist/react-native/queryExecutionContext/index.js +4 -0
  735. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  736. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  737. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  738. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  739. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  740. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  741. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  742. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  743. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  744. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  745. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  746. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  747. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  748. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  749. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  750. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  751. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  752. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  753. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  754. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  755. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  756. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  757. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  758. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  759. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  760. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  761. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  762. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  763. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  764. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  765. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  766. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  767. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  768. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  769. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  770. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  771. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  772. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  773. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  774. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  775. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  776. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  777. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  778. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  779. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  780. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  781. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  782. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  783. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  784. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  785. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  786. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  787. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  788. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  789. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  790. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  791. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  792. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  793. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  794. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  795. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  796. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  797. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  798. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  799. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  800. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  801. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  802. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  803. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  804. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  805. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  806. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  807. package/dist/react-native/queryIterator.js.map +1 -1
  808. package/dist/react-native/request/RequestHandler.d.ts.map +1 -1
  809. package/dist/react-native/request/RequestHandler.js +10 -4
  810. package/dist/react-native/request/RequestHandler.js.map +1 -1
  811. package/dist/react-native/utils/offers.d.ts.map +1 -1
  812. package/dist/react-native/utils/offers.js +0 -1
  813. package/dist/react-native/utils/offers.js.map +1 -1
  814. package/package.json +23 -22
@@ -3,6 +3,10 @@ import type { DocumentProducer } from "./documentProducer.js";
3
3
  export declare class OrderByDocumentProducerComparator {
4
4
  sortOrder: string[];
5
5
  constructor(sortOrder: string[]);
6
+ /**
7
+ * Compares document producers based on their partition key range minInclusive values.
8
+ * Uses minEPK as a tie-breaker when minInclusive values are equal.
9
+ */
6
10
  private targetPartitionKeyRangeDocProdComparator;
7
11
  compare(docProd1: DocumentProducer, docProd2: DocumentProducer): number;
8
12
  compareValue(item1: unknown, type1: string, item2: unknown, type2: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"orderByDocumentProducerComparator.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByDocumentProducerComparator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiC9D,cAAc;AACd,qBAAa,iCAAiC;IACzB,SAAS,EAAE,MAAM,EAAE;gBAAnB,SAAS,EAAE,MAAM,EAAE;IAEtC,OAAO,CAAC,wCAAwC;IASzC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAiCvE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IA8BzF,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,OAAO;IAuBf,OAAO,CAAC,eAAe;CAIxB"}
1
+ {"version":3,"file":"orderByDocumentProducerComparator.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByDocumentProducerComparator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiC9D,cAAc;AACd,qBAAa,iCAAiC;IACzB,SAAS,EAAE,MAAM,EAAE;gBAAnB,SAAS,EAAE,MAAM,EAAE;IAEtC;;;OAGG;IACH,OAAO,CAAC,wCAAwC;IAkBzC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM;IAmCvE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IA8BzF,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,OAAO;IAuBf,OAAO,CAAC,eAAe;CAIxB"}
@@ -35,10 +35,21 @@ class OrderByDocumentProducerComparator {
35
35
  constructor(sortOrder) {
36
36
  this.sortOrder = sortOrder;
37
37
  } // TODO: This should be an enum
38
+ /**
39
+ * Compares document producers based on their partition key range minInclusive values.
40
+ * Uses minEPK as a tie-breaker when minInclusive values are equal.
41
+ */
38
42
  targetPartitionKeyRangeDocProdComparator(docProd1, docProd2) {
39
- const a = docProd1.getTargetParitionKeyRange()["minInclusive"];
40
- const b = docProd2.getTargetParitionKeyRange()["minInclusive"];
41
- return a === b ? 0 : a > b ? 1 : -1;
43
+ const a = docProd1.getTargetPartitionKeyRange().minInclusive;
44
+ const b = docProd2.getTargetPartitionKeyRange().minInclusive;
45
+ // Primary comparison using minInclusive (ascending lexicographic order)
46
+ if (a !== b) {
47
+ return a < b ? -1 : 1;
48
+ }
49
+ // Tie-breaker: use minEPK when minInclusive values are equal
50
+ const epkA = docProd1.startEpk;
51
+ const epkB = docProd2.startEpk;
52
+ return epkA !== undefined && epkB !== undefined ? (epkA < epkB ? -1 : epkA > epkB ? 1 : 0) : 0;
42
53
  }
43
54
  compare(docProd1, docProd2) {
44
55
  // Need to check for split, since we don't want to dereference "item" of undefined / exception
@@ -66,7 +77,9 @@ class OrderByDocumentProducerComparator {
66
77
  }
67
78
  }
68
79
  }
69
- return this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2);
80
+ // If all ORDER BY comparisons result in equality, use partition range as tie-breaker
81
+ const partitionRangeResult = this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2);
82
+ return partitionRangeResult;
70
83
  }
71
84
  // TODO: This smells funny
72
85
  compareValue(item1, type1, item2, type2) {
@@ -94,9 +107,7 @@ class OrderByDocumentProducerComparator {
94
107
  return compFunc(item1, item2);
95
108
  }
96
109
  compareOrderByItem(orderByItem1, orderByItem2) {
97
- const type1 = this.getType(orderByItem1);
98
- const type2 = this.getType(orderByItem2);
99
- return this.compareValue(orderByItem1["item"], type1, orderByItem2["item"], type2);
110
+ return this.compareValue(orderByItem1["item"], this.getType(orderByItem1), orderByItem2["item"], this.getType(orderByItem2));
100
111
  }
101
112
  validateOrderByItems(res1, res2) {
102
113
  if (res1.length !== res2.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"orderByDocumentProducerComparator.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByDocumentProducerComparator.ts"],"names":[],"mappings":";;;AAIA,0BAA0B;AAC1B,cAAc;AACd,MAAM,iBAAiB,GAEnB,MAAM,CAAC,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,GAAG,EAAE,CAAC;KACP;IACD,SAAS,EAAE;QACT,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;KACF;IACD,MAAM,EAAE;QACN,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;KACF;IACD,MAAM,EAAE;QACN,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;KACF;CACF,CAAC,CAAC;AAEH,cAAc;AACd,MAAa,iCAAiC;IACzB;IAAnB,YAAmB,SAAmB;QAAnB,cAAS,GAAT,SAAS,CAAU;IAAG,CAAC,CAAC,+BAA+B;IAElE,wCAAwC,CAC9C,QAA0B,EAC1B,QAA0B;QAE1B,MAAM,CAAC,GAAG,QAAQ,CAAC,yBAAyB,EAAE,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,QAAQ,CAAC,yBAAyB,EAAE,CAAC,cAAc,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,OAAO,CAAC,QAA0B,EAAE,QAA0B;QACnE,8FAA8F;QAC9F,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,oCAAoC;QACpC,yEAAyE;QACzE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAE9D,gCAAgC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,wCAAwC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;oBACtC,OAAO,OAAO,CAAC;gBACjB,CAAC;qBAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;oBAC9C,OAAO,CAAC,OAAO,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,wCAAwC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,0BAA0B;IACnB,YAAY,CAAC,KAAc,EAAE,KAAa,EAAE,KAAc,EAAE,KAAa;QAC9E,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAEpC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,+CAA+C;YAC/C,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,4BAA4B;QAC5B,IACE,QAAQ,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG;YAC/C,QAAQ,KAAK,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAG,EAC7C,CAAC;YACD,qDAAqD;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACnD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,kDAAkD;QAClD,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,kBAAkB,CAAC,YAAiB,EAAE,YAAiB;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAEO,oBAAoB,CAAC,IAAc,EAAE,IAAc;QACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,aAAa,KAAK,4JAA4J,CAChM,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO,CACb,WAAgB;QAWhB,kBAAkB;QAClB,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;QACrC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,GAAQ;QAC9B,iBAAiB;QACjB,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;CACF;AA/HD,8EA+HC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DocumentProducer } from \"./documentProducer.js\";\n\n// TODO: this smells funny\n/** @hidden */\nconst TYPEORDCOMPARATOR: {\n [type: string]: { ord: number; compFunc?: (a: any, b: any) => number };\n} = Object.freeze({\n NoValue: {\n ord: 0,\n },\n undefined: {\n ord: 1,\n },\n boolean: {\n ord: 2,\n compFunc: (a: boolean, b: boolean) => {\n return a === b ? 0 : a > b ? 1 : -1;\n },\n },\n number: {\n ord: 4,\n compFunc: (a: number, b: number) => {\n return a === b ? 0 : a > b ? 1 : -1;\n },\n },\n string: {\n ord: 5,\n compFunc: (a: string, b: string) => {\n return a === b ? 0 : a > b ? 1 : -1;\n },\n },\n});\n\n/** @hidden */\nexport class OrderByDocumentProducerComparator {\n constructor(public sortOrder: string[]) {} // TODO: This should be an enum\n\n private targetPartitionKeyRangeDocProdComparator(\n docProd1: DocumentProducer,\n docProd2: DocumentProducer,\n ): 0 | 1 | -1 {\n const a = docProd1.getTargetParitionKeyRange()[\"minInclusive\"];\n const b = docProd2.getTargetParitionKeyRange()[\"minInclusive\"];\n return a === b ? 0 : a > b ? 1 : -1;\n }\n\n public compare(docProd1: DocumentProducer, docProd2: DocumentProducer): number {\n // Need to check for split, since we don't want to dereference \"item\" of undefined / exception\n if (docProd1.gotSplit()) {\n return -1;\n }\n if (docProd2.gotSplit()) {\n return 1;\n }\n\n const orderByItemsRes1 = this.getOrderByItems(docProd1.peekBufferedItems()[0]);\n const orderByItemsRes2 = this.getOrderByItems(docProd2.peekBufferedItems()[0]);\n\n // validate order by items and types\n // TODO: once V1 order by on different types is fixed this need to change\n this.validateOrderByItems(orderByItemsRes1, orderByItemsRes2);\n\n // no async call in the for loop\n for (let i = 0; i < orderByItemsRes1.length; i++) {\n // compares the orderby items one by one\n const compRes = this.compareOrderByItem(orderByItemsRes1[i], orderByItemsRes2[i]);\n if (compRes !== 0) {\n if (this.sortOrder[i] === \"Ascending\") {\n return compRes;\n } else if (this.sortOrder[i] === \"Descending\") {\n return -compRes;\n }\n }\n }\n\n return this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2);\n }\n\n // TODO: This smells funny\n public compareValue(item1: unknown, type1: string, item2: unknown, type2: string): number {\n if (type1 === \"object\" || type2 === \"object\") {\n throw new Error(\"Tried to compare an object type\");\n }\n const type1Ord = TYPEORDCOMPARATOR[type1].ord;\n const type2Ord = TYPEORDCOMPARATOR[type2].ord;\n const typeCmp = type1Ord - type2Ord;\n\n if (typeCmp !== 0) {\n // if the types are different, use type ordinal\n return typeCmp;\n }\n\n // both are of the same type\n if (\n type1Ord === TYPEORDCOMPARATOR[\"undefined\"].ord ||\n type1Ord === TYPEORDCOMPARATOR[\"NoValue\"].ord\n ) {\n // if both types are undefined or Null they are equal\n return 0;\n }\n\n const compFunc = TYPEORDCOMPARATOR[type1].compFunc;\n if (typeof compFunc === \"undefined\") {\n throw new Error(\"Cannot find the comparison function\");\n }\n // same type and type is defined compare the items\n return compFunc(item1, item2);\n }\n\n private compareOrderByItem(orderByItem1: any, orderByItem2: any): number {\n const type1 = this.getType(orderByItem1);\n const type2 = this.getType(orderByItem2);\n return this.compareValue(orderByItem1[\"item\"], type1, orderByItem2[\"item\"], type2);\n }\n\n private validateOrderByItems(res1: string[], res2: string[]): void {\n if (res1.length !== res2.length) {\n throw new Error(`Expected ${res1.length}, but got ${res2.length}.`);\n }\n if (res1.length !== this.sortOrder.length) {\n throw new Error(\"orderByItems cannot have a different size than sort orders.\");\n }\n\n for (let i = 0; i < this.sortOrder.length; i++) {\n const type1 = this.getType(res1[i]);\n const type2 = this.getType(res2[i]);\n if (type1 !== type2) {\n throw new Error(\n `Expected ${type1}, but got ${type2}. Cannot execute cross partition order-by queries on mixed types. Consider filtering your query using IS_STRING or IS_NUMBER to get around this exception.`,\n );\n }\n }\n }\n\n private getType(\n orderByItem: any,\n ):\n | \"string\"\n | \"number\"\n | \"bigint\"\n | \"boolean\"\n | \"symbol\"\n | \"undefined\"\n | \"object\"\n | \"function\"\n | \"NoValue\" {\n // TODO: any item?\n if (orderByItem === undefined || orderByItem.item === undefined) {\n return \"NoValue\";\n }\n const type = typeof orderByItem.item;\n if (TYPEORDCOMPARATOR[type] === undefined) {\n throw new Error(`unrecognizable type ${type}`);\n }\n return type;\n }\n\n private getOrderByItems(res: any): any {\n // TODO: any res?\n return res[\"orderByItems\"];\n }\n}\n"]}
1
+ {"version":3,"file":"orderByDocumentProducerComparator.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByDocumentProducerComparator.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DocumentProducer } from \"./documentProducer.js\";\n\n// TODO: this smells funny\n/** @hidden */\nconst TYPEORDCOMPARATOR: {\n [type: string]: { ord: number; compFunc?: (a: any, b: any) => number };\n} = Object.freeze({\n NoValue: {\n ord: 0,\n },\n undefined: {\n ord: 1,\n },\n boolean: {\n ord: 2,\n compFunc: (a: boolean, b: boolean) => {\n return a === b ? 0 : a > b ? 1 : -1;\n },\n },\n number: {\n ord: 4,\n compFunc: (a: number, b: number) => {\n return a === b ? 0 : a > b ? 1 : -1;\n },\n },\n string: {\n ord: 5,\n compFunc: (a: string, b: string) => {\n return a === b ? 0 : a > b ? 1 : -1;\n },\n },\n});\n\n/** @hidden */\nexport class OrderByDocumentProducerComparator {\n constructor(public sortOrder: string[]) {} // TODO: This should be an enum\n\n /**\n * Compares document producers based on their partition key range minInclusive values.\n * Uses minEPK as a tie-breaker when minInclusive values are equal.\n */\n private targetPartitionKeyRangeDocProdComparator(\n docProd1: DocumentProducer,\n docProd2: DocumentProducer,\n ): 0 | 1 | -1 {\n const a = docProd1.getTargetPartitionKeyRange().minInclusive;\n const b = docProd2.getTargetPartitionKeyRange().minInclusive;\n\n // Primary comparison using minInclusive (ascending lexicographic order)\n if (a !== b) {\n return a < b ? -1 : 1;\n }\n\n // Tie-breaker: use minEPK when minInclusive values are equal\n const epkA = docProd1.startEpk;\n const epkB = docProd2.startEpk;\n return epkA !== undefined && epkB !== undefined ? (epkA < epkB ? -1 : epkA > epkB ? 1 : 0) : 0;\n }\n\n public compare(docProd1: DocumentProducer, docProd2: DocumentProducer): number {\n // Need to check for split, since we don't want to dereference \"item\" of undefined / exception\n if (docProd1.gotSplit()) {\n return -1;\n }\n if (docProd2.gotSplit()) {\n return 1;\n }\n\n const orderByItemsRes1 = this.getOrderByItems(docProd1.peekBufferedItems()[0]);\n const orderByItemsRes2 = this.getOrderByItems(docProd2.peekBufferedItems()[0]);\n\n // validate order by items and types\n // TODO: once V1 order by on different types is fixed this need to change\n this.validateOrderByItems(orderByItemsRes1, orderByItemsRes2);\n\n // no async call in the for loop\n for (let i = 0; i < orderByItemsRes1.length; i++) {\n // compares the orderby items one by one\n const compRes = this.compareOrderByItem(orderByItemsRes1[i], orderByItemsRes2[i]);\n if (compRes !== 0) {\n if (this.sortOrder[i] === \"Ascending\") {\n return compRes;\n } else if (this.sortOrder[i] === \"Descending\") {\n return -compRes;\n }\n }\n }\n\n // If all ORDER BY comparisons result in equality, use partition range as tie-breaker\n const partitionRangeResult = this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2);\n return partitionRangeResult;\n }\n\n // TODO: This smells funny\n public compareValue(item1: unknown, type1: string, item2: unknown, type2: string): number {\n if (type1 === \"object\" || type2 === \"object\") {\n throw new Error(\"Tried to compare an object type\");\n }\n const type1Ord = TYPEORDCOMPARATOR[type1].ord;\n const type2Ord = TYPEORDCOMPARATOR[type2].ord;\n const typeCmp = type1Ord - type2Ord;\n\n if (typeCmp !== 0) {\n // if the types are different, use type ordinal\n return typeCmp;\n }\n\n // both are of the same type\n if (\n type1Ord === TYPEORDCOMPARATOR[\"undefined\"].ord ||\n type1Ord === TYPEORDCOMPARATOR[\"NoValue\"].ord\n ) {\n // if both types are undefined or Null they are equal\n return 0;\n }\n\n const compFunc = TYPEORDCOMPARATOR[type1].compFunc;\n if (typeof compFunc === \"undefined\") {\n throw new Error(\"Cannot find the comparison function\");\n }\n // same type and type is defined compare the items\n return compFunc(item1, item2);\n }\n\n private compareOrderByItem(orderByItem1: any, orderByItem2: any): number {\n return this.compareValue(\n orderByItem1[\"item\"],\n this.getType(orderByItem1),\n orderByItem2[\"item\"],\n this.getType(orderByItem2),\n );\n }\n\n private validateOrderByItems(res1: string[], res2: string[]): void {\n if (res1.length !== res2.length) {\n throw new Error(`Expected ${res1.length}, but got ${res2.length}.`);\n }\n if (res1.length !== this.sortOrder.length) {\n throw new Error(\"orderByItems cannot have a different size than sort orders.\");\n }\n\n for (let i = 0; i < this.sortOrder.length; i++) {\n const type1 = this.getType(res1[i]);\n const type2 = this.getType(res2[i]);\n if (type1 !== type2) {\n throw new Error(\n `Expected ${type1}, but got ${type2}. Cannot execute cross partition order-by queries on mixed types. Consider filtering your query using IS_STRING or IS_NUMBER to get around this exception.`,\n );\n }\n }\n }\n\n private getType(\n orderByItem: any,\n ):\n | \"string\"\n | \"number\"\n | \"bigint\"\n | \"boolean\"\n | \"symbol\"\n | \"undefined\"\n | \"object\"\n | \"function\"\n | \"NoValue\" {\n // TODO: any item?\n if (orderByItem === undefined || orderByItem.item === undefined) {\n return \"NoValue\";\n }\n const type = typeof orderByItem.item;\n if (TYPEORDCOMPARATOR[type] === undefined) {\n throw new Error(`unrecognizable type ${type}`);\n }\n return type;\n }\n\n private getOrderByItems(res: any): any {\n // TODO: any res?\n return res[\"orderByItems\"];\n }\n}\n"]}
@@ -3,12 +3,11 @@ import type { PartitionedQueryExecutionInfo } from "../request/ErrorResponse.js"
3
3
  import type { FeedOptions } from "../request/FeedOptions.js";
4
4
  import type { DocumentProducer } from "./documentProducer.js";
5
5
  import type { ExecutionContext } from "./ExecutionContext.js";
6
- import { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
6
+ import type { Response } from "../request/index.js";
7
7
  import { ParallelQueryExecutionContextBase } from "./parallelQueryExecutionContextBase.js";
8
8
  import type { SqlQuerySpec } from "./SqlQuerySpec.js";
9
9
  /** @hidden */
10
10
  export declare class OrderByQueryExecutionContext extends ParallelQueryExecutionContextBase implements ExecutionContext {
11
- private orderByComparator;
12
11
  /**
13
12
  * Provides the OrderByQueryExecutionContext.
14
13
  * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase.
@@ -24,17 +23,15 @@ export declare class OrderByQueryExecutionContext extends ParallelQueryExecution
24
23
  */
25
24
  constructor(clientContext: ClientContext, collectionLink: string, query: string | SqlQuerySpec, options: FeedOptions, partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo, correlatedActivityId: string);
26
25
  /**
27
- * Provides a Comparator for document producers which respects orderby sort order.
28
- * @returns Comparator Function
29
- * @hidden
26
+ * Fetches next single item from producer for ORDER BY processing.
30
27
  */
31
- documentProducerComparator(docProd1: DocumentProducer, docProd2: DocumentProducer): any;
28
+ protected fetchFromProducer(producer: DocumentProducer): Promise<Response<any>>;
32
29
  /**
33
- * Fetches more results from the query execution context.
34
- * @param diagnosticNode - Optional diagnostic node for tracing.
35
- * @returns A promise that resolves to the fetched results.
30
+ * Determines if buffered producers should continue to be processed for ORDER BY queries.
31
+ * For ORDER BY, only process when no unfilled producers remain to maintain order.
32
+ * @param isUnfilledQueueEmpty - Whether the unfilled queue is empty
36
33
  * @hidden
37
34
  */
38
- fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<any>;
35
+ protected shouldProcessBufferedProducers(isUnfilledQueueEmpty: boolean): boolean;
39
36
  }
40
37
  //# sourceMappingURL=orderByQueryExecutionContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orderByQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByQueryExecutionContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,cAAc;AACd,qBAAa,4BACX,SAAQ,iCACR,YAAW,gBAAgB;IAE3B,OAAO,CAAC,iBAAiB,CAAM;IAC/B;;;;;;;;;;;;OAYG;gBAED,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;IAgB9B;;;;OAIG;IACI,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,GAAG;IAI9F;;;;;OAKG;IACU,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;CAU9E"}
1
+ {"version":3,"file":"orderByQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByQueryExecutionContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,cAAc;AACd,qBAAa,4BACX,SAAQ,iCACR,YAAW,gBAAgB;IAE3B;;;;;;;;;;;;OAYG;gBAED,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;IAmC9B;;OAEG;cACa,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAWrF;;;;;OAKG;IACH,SAAS,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,OAAO,GAAG,OAAO;CAIjF"}
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrderByQueryExecutionContext = void 0;
4
4
  const orderByDocumentProducerComparator_js_1 = require("./orderByDocumentProducerComparator.js");
5
5
  const parallelQueryExecutionContextBase_js_1 = require("./parallelQueryExecutionContextBase.js");
6
+ const TargetPartitionRangeManager_js_1 = require("./queryFilteringStrategy/TargetPartitionRangeManager.js");
7
+ const OrderByQueryProcessingStrategy_js_1 = require("./queryProcessingStrategy/OrderByQueryProcessingStrategy.js");
6
8
  /** @hidden */
7
9
  class OrderByQueryExecutionContext extends parallelQueryExecutionContextBase_js_1.ParallelQueryExecutionContextBase {
8
- orderByComparator;
9
10
  /**
10
11
  * Provides the OrderByQueryExecutionContext.
11
12
  * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase.
@@ -20,36 +21,42 @@ class OrderByQueryExecutionContext extends parallelQueryExecutionContextBase_js_
20
21
  * @hidden
21
22
  */
22
23
  constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId) {
24
+ const rangeManager = TargetPartitionRangeManager_js_1.TargetPartitionRangeManager.createForOrderByQuery({
25
+ queryInfo: partitionedQueryExecutionInfo,
26
+ });
27
+ // Create ORDER BY query processing strategy with sortOrders
28
+ const processingStrategy = new OrderByQueryProcessingStrategy_js_1.OrderByQueryProcessingStrategy(partitionedQueryExecutionInfo.queryInfo.orderBy);
29
+ // Create ORDER BY comparator (need to access sortOrders from partitionedQueryExecutionInfo)
30
+ const orderByComparator = new orderByDocumentProducerComparator_js_1.OrderByDocumentProducerComparator(partitionedQueryExecutionInfo.queryInfo.orderBy);
31
+ // Create comparator function for ORDER BY queries
32
+ const comparator = (docProd1, docProd2) => {
33
+ return orderByComparator.compare(docProd1, docProd2);
34
+ };
23
35
  // Calling on base class constructor
24
- super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId);
25
- this.orderByComparator = new orderByDocumentProducerComparator_js_1.OrderByDocumentProducerComparator(this.sortOrders);
36
+ super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId, rangeManager, processingStrategy, comparator);
26
37
  }
27
- // Instance members are inherited
28
- // Overriding documentProducerComparator for OrderByQueryExecutionContexts
29
38
  /**
30
- * Provides a Comparator for document producers which respects orderby sort order.
31
- * @returns Comparator Function
32
- * @hidden
39
+ * Fetches next single item from producer for ORDER BY processing.
33
40
  */
34
- documentProducerComparator(docProd1, docProd2) {
35
- return this.orderByComparator.compare(docProd1, docProd2);
41
+ async fetchFromProducer(producer) {
42
+ const response = await producer.fetchNextItem();
43
+ if (response && response.result) {
44
+ return {
45
+ result: [response.result],
46
+ headers: response.headers,
47
+ };
48
+ }
49
+ return response;
36
50
  }
37
51
  /**
38
- * Fetches more results from the query execution context.
39
- * @param diagnosticNode - Optional diagnostic node for tracing.
40
- * @returns A promise that resolves to the fetched results.
52
+ * Determines if buffered producers should continue to be processed for ORDER BY queries.
53
+ * For ORDER BY, only process when no unfilled producers remain to maintain order.
54
+ * @param isUnfilledQueueEmpty - Whether the unfilled queue is empty
41
55
  * @hidden
42
56
  */
43
- async fetchMore(diagnosticNode) {
44
- try {
45
- await this.bufferDocumentProducers(diagnosticNode);
46
- await this.fillBufferFromBufferQueue(true);
47
- return this.drainBufferedItems();
48
- }
49
- catch (error) {
50
- console.error("Error fetching more results:", error);
51
- throw error;
52
- }
57
+ shouldProcessBufferedProducers(isUnfilledQueueEmpty) {
58
+ // For ORDER BY, only process when no unfilled producers remain to maintain order
59
+ return isUnfilledQueueEmpty;
53
60
  }
54
61
  }
55
62
  exports.OrderByQueryExecutionContext = OrderByQueryExecutionContext;
@@ -1 +1 @@
1
- {"version":3,"file":"orderByQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByQueryExecutionContext.ts"],"names":[],"mappings":";;;AAQA,iGAA2F;AAC3F,iGAA2F;AAG3F,cAAc;AACd,MAAa,4BACX,SAAQ,wEAAiC;IAGjC,iBAAiB,CAAM;IAC/B;;;;;;;;;;;;OAYG;IACH,YACE,aAA4B,EAC5B,cAAsB,EACtB,KAA4B,EAC5B,OAAoB,EACpB,6BAA4D,EAC5D,oBAA4B;QAE5B,oCAAoC;QACpC,KAAK,CACH,aAAa,EACb,cAAc,EACd,KAAK,EACL,OAAO,EACP,6BAA6B,EAC7B,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,wEAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClF,CAAC;IACD,iCAAiC;IAEjC,0EAA0E;IAC1E;;;;OAIG;IACI,0BAA0B,CAAC,QAA0B,EAAE,QAA0B;QACtF,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CAAC,cAAuC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAjED,oEAiEC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { PartitionedQueryExecutionInfo } from \"../request/ErrorResponse.js\";\nimport type { FeedOptions } from \"../request/FeedOptions.js\";\nimport type { DocumentProducer } from \"./documentProducer.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { OrderByDocumentProducerComparator } from \"./orderByDocumentProducerComparator.js\";\nimport { ParallelQueryExecutionContextBase } from \"./parallelQueryExecutionContextBase.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\n\n/** @hidden */\nexport class OrderByQueryExecutionContext\n extends ParallelQueryExecutionContextBase\n implements ExecutionContext\n{\n private orderByComparator: any;\n /**\n * Provides the OrderByQueryExecutionContext.\n * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase.\n *\n * When handling a parallelized query, it instantiates one instance of\n * DocumentProcuder per target partition key range and aggregates the result of each.\n *\n * @param clientContext - The service endpoint to use to create the client.\n * @param collectionLink - The Collection Link\n * @param options - Represents the feed options.\n * @param partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo\n * @hidden\n */\n constructor(\n clientContext: ClientContext,\n collectionLink: string,\n query: string | SqlQuerySpec,\n options: FeedOptions,\n partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n correlatedActivityId: string,\n ) {\n // Calling on base class constructor\n super(\n clientContext,\n collectionLink,\n query,\n options,\n partitionedQueryExecutionInfo,\n correlatedActivityId,\n );\n this.orderByComparator = new OrderByDocumentProducerComparator(this.sortOrders);\n }\n // Instance members are inherited\n\n // Overriding documentProducerComparator for OrderByQueryExecutionContexts\n /**\n * Provides a Comparator for document producers which respects orderby sort order.\n * @returns Comparator Function\n * @hidden\n */\n public documentProducerComparator(docProd1: DocumentProducer, docProd2: DocumentProducer): any {\n return this.orderByComparator.compare(docProd1, docProd2);\n }\n\n /**\n * Fetches more results from the query execution context.\n * @param diagnosticNode - Optional diagnostic node for tracing.\n * @returns A promise that resolves to the fetched results.\n * @hidden\n */\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<any> {\n try {\n await this.bufferDocumentProducers(diagnosticNode);\n await this.fillBufferFromBufferQueue(true);\n return this.drainBufferedItems();\n } catch (error) {\n console.error(\"Error fetching more results:\", error);\n throw error;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"orderByQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByQueryExecutionContext.ts"],"names":[],"mappings":";;;AASA,iGAA2F;AAC3F,iGAA2F;AAE3F,4GAAsG;AACtG,mHAA6G;AAE7G,cAAc;AACd,MAAa,4BACX,SAAQ,wEAAiC;IAGzC;;;;;;;;;;;;OAYG;IACH,YACE,aAA4B,EAC5B,cAAsB,EACtB,KAA4B,EAC5B,OAAoB,EACpB,6BAA4D,EAC5D,oBAA4B;QAE5B,MAAM,YAAY,GAAG,4DAA2B,CAAC,qBAAqB,CAAC;YACrE,SAAS,EAAE,6BAA6B;SACzC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,IAAI,kEAA8B,CAC3D,6BAA6B,CAAC,SAAS,CAAC,OAAO,CAChD,CAAC;QAEF,4FAA4F;QAC5F,MAAM,iBAAiB,GAAG,IAAI,wEAAiC,CAC7D,6BAA6B,CAAC,SAAS,CAAC,OAAO,CAChD,CAAC;QAEF,kDAAkD;QAClD,MAAM,UAAU,GAAG,CAAC,QAA0B,EAAE,QAA0B,EAAU,EAAE;YACpF,OAAO,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,oCAAoC;QACpC,KAAK,CACH,aAAa,EACb,cAAc,EACd,KAAK,EACL,OAAO,EACP,6BAA6B,EAC7B,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB,CAAC,QAA0B;QAC1D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO;gBACL,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACO,8BAA8B,CAAC,oBAA6B;QACpE,iFAAiF;QACjF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AAlFD,oEAkFC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { PartitionedQueryExecutionInfo } from \"../request/ErrorResponse.js\";\nimport type { FeedOptions } from \"../request/FeedOptions.js\";\nimport type { DocumentProducer } from \"./documentProducer.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport type { Response } from \"../request/index.js\";\n\nimport { OrderByDocumentProducerComparator } from \"./orderByDocumentProducerComparator.js\";\nimport { ParallelQueryExecutionContextBase } from \"./parallelQueryExecutionContextBase.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\nimport { TargetPartitionRangeManager } from \"./queryFilteringStrategy/TargetPartitionRangeManager.js\";\nimport { OrderByQueryProcessingStrategy } from \"./queryProcessingStrategy/OrderByQueryProcessingStrategy.js\";\n\n/** @hidden */\nexport class OrderByQueryExecutionContext\n extends ParallelQueryExecutionContextBase\n implements ExecutionContext\n{\n /**\n * Provides the OrderByQueryExecutionContext.\n * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase.\n *\n * When handling a parallelized query, it instantiates one instance of\n * DocumentProcuder per target partition key range and aggregates the result of each.\n *\n * @param clientContext - The service endpoint to use to create the client.\n * @param collectionLink - The Collection Link\n * @param options - Represents the feed options.\n * @param partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo\n * @hidden\n */\n constructor(\n clientContext: ClientContext,\n collectionLink: string,\n query: string | SqlQuerySpec,\n options: FeedOptions,\n partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n correlatedActivityId: string,\n ) {\n const rangeManager = TargetPartitionRangeManager.createForOrderByQuery({\n queryInfo: partitionedQueryExecutionInfo,\n });\n\n // Create ORDER BY query processing strategy with sortOrders\n const processingStrategy = new OrderByQueryProcessingStrategy(\n partitionedQueryExecutionInfo.queryInfo.orderBy,\n );\n\n // Create ORDER BY comparator (need to access sortOrders from partitionedQueryExecutionInfo)\n const orderByComparator = new OrderByDocumentProducerComparator(\n partitionedQueryExecutionInfo.queryInfo.orderBy,\n );\n\n // Create comparator function for ORDER BY queries\n const comparator = (docProd1: DocumentProducer, docProd2: DocumentProducer): number => {\n return orderByComparator.compare(docProd1, docProd2);\n };\n\n // Calling on base class constructor\n super(\n clientContext,\n collectionLink,\n query,\n options,\n partitionedQueryExecutionInfo,\n correlatedActivityId,\n rangeManager,\n processingStrategy,\n comparator,\n );\n }\n\n /**\n * Fetches next single item from producer for ORDER BY processing.\n */\n protected async fetchFromProducer(producer: DocumentProducer): Promise<Response<any>> {\n const response = await producer.fetchNextItem();\n if (response && response.result) {\n return {\n result: [response.result],\n headers: response.headers,\n };\n }\n return response;\n }\n\n /**\n * Determines if buffered producers should continue to be processed for ORDER BY queries.\n * For ORDER BY, only process when no unfilled producers remain to maintain order.\n * @param isUnfilledQueueEmpty - Whether the unfilled queue is empty\n * @hidden\n */\n protected shouldProcessBufferedProducers(isUnfilledQueueEmpty: boolean): boolean {\n // For ORDER BY, only process when no unfilled producers remain to maintain order\n return isUnfilledQueueEmpty;\n }\n}\n"]}
@@ -1,26 +1,34 @@
1
+ import type { ClientContext } from "../ClientContext.js";
2
+ import type { PartitionedQueryExecutionInfo } from "../request/ErrorResponse.js";
3
+ import type { FeedOptions } from "../request/FeedOptions.js";
1
4
  import type { DocumentProducer } from "./documentProducer.js";
2
5
  import type { ExecutionContext } from "./ExecutionContext.js";
3
6
  import { ParallelQueryExecutionContextBase } from "./parallelQueryExecutionContextBase.js";
4
- import { Response } from "../request/index.js";
5
- import { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
7
+ import type { Response } from "../request/index.js";
8
+ import type { SqlQuerySpec } from "./SqlQuerySpec.js";
6
9
  /**
7
10
  * Provides the ParallelQueryExecutionContext.
8
11
  * This class is capable of handling parallelized queries and derives from ParallelQueryExecutionContextBase.
9
12
  * @hidden
10
13
  */
11
14
  export declare class ParallelQueryExecutionContext extends ParallelQueryExecutionContextBase implements ExecutionContext {
15
+ constructor(clientContext: ClientContext, collectionLink: string, query: string | SqlQuerySpec, options: FeedOptions, partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo, correlatedActivityId: string);
12
16
  /**
13
- * Provides a Comparator for document producers using the min value of the corresponding target partition.
14
- * @returns Comparator Function
15
- * @hidden
17
+ * Fetches all buffered items from producer for parallel processing.
16
18
  */
17
- documentProducerComparator(docProd1: DocumentProducer, docProd2: DocumentProducer): number;
19
+ protected fetchFromProducer(producer: DocumentProducer): Promise<Response<any>>;
18
20
  /**
19
- * Fetches more results from the query execution context.
20
- * @param diagnosticNode - Optional diagnostic node for tracing.
21
- * @returns A promise that resolves to the fetched results.
21
+ * Determines if buffered producers should continue to be processed for parallel queries.
22
+ * For parallel queries, we process all buffered producers.
23
+ * @param _isUnfilledQueueEmpty - Whether the unfilled queue is empty (ignored for parallel queries)
22
24
  * @hidden
23
25
  */
24
- fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>>;
26
+ protected shouldProcessBufferedProducers(_isUnfilledQueueEmpty: boolean): boolean;
27
+ /**
28
+ * Creates a comparator function for sorting document producers in parallel queries.
29
+ * Sorts by partition key range minInclusive values, with empty string first,
30
+ * then lexicographically. Uses EPK ranges as secondary sort when minInclusive values are identical.
31
+ */
32
+ private static createDocumentProducerComparator;
25
33
  }
26
34
  //# sourceMappingURL=parallelQueryExecutionContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallelQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/parallelQueryExecutionContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF;;;;GAIG;AACH,qBAAa,6BACX,SAAQ,iCACR,YAAW,gBAAgB;IAK3B;;;;OAIG;IACI,0BAA0B,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,MAAM;IAIT;;;;;OAKG;IACU,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CAcxF"}
1
+ {"version":3,"file":"parallelQueryExecutionContext.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/parallelQueryExecutionContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD;;;;GAIG;AACH,qBAAa,6BACX,SAAQ,iCACR,YAAW,gBAAgB;gBAGzB,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;IA0B9B;;OAEG;cACa,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAIrF;;;;;OAKG;IACH,SAAS,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,OAAO,GAAG,OAAO;IAIjF;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;CAuBhD"}
@@ -4,41 +4,65 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.ParallelQueryExecutionContext = void 0;
6
6
  const parallelQueryExecutionContextBase_js_1 = require("./parallelQueryExecutionContextBase.js");
7
+ const TargetPartitionRangeManager_js_1 = require("./queryFilteringStrategy/TargetPartitionRangeManager.js");
8
+ const ParallelQueryProcessingStrategy_js_1 = require("./queryProcessingStrategy/ParallelQueryProcessingStrategy.js");
7
9
  /**
8
10
  * Provides the ParallelQueryExecutionContext.
9
11
  * This class is capable of handling parallelized queries and derives from ParallelQueryExecutionContextBase.
10
12
  * @hidden
11
13
  */
12
14
  class ParallelQueryExecutionContext extends parallelQueryExecutionContextBase_js_1.ParallelQueryExecutionContextBase {
13
- // Instance members are inherited
14
- // Overriding documentProducerComparator for ParallelQueryExecutionContexts
15
+ constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId) {
16
+ const rangeManager = TargetPartitionRangeManager_js_1.TargetPartitionRangeManager.createForParallelQuery({
17
+ queryInfo: partitionedQueryExecutionInfo,
18
+ });
19
+ // Create parallel query processing strategy
20
+ const processingStrategy = new ParallelQueryProcessingStrategy_js_1.ParallelQueryProcessingStrategy();
21
+ // Create comparator for document producers
22
+ const comparator = ParallelQueryExecutionContext.createDocumentProducerComparator();
23
+ // Calling on base class constructor
24
+ super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId, rangeManager, processingStrategy, comparator);
25
+ }
15
26
  /**
16
- * Provides a Comparator for document producers using the min value of the corresponding target partition.
17
- * @returns Comparator Function
18
- * @hidden
27
+ * Fetches all buffered items from producer for parallel processing.
19
28
  */
20
- documentProducerComparator(docProd1, docProd2) {
21
- return docProd1.generation - docProd2.generation;
29
+ async fetchFromProducer(producer) {
30
+ return producer.fetchBufferedItems();
22
31
  }
23
32
  /**
24
- * Fetches more results from the query execution context.
25
- * @param diagnosticNode - Optional diagnostic node for tracing.
26
- * @returns A promise that resolves to the fetched results.
33
+ * Determines if buffered producers should continue to be processed for parallel queries.
34
+ * For parallel queries, we process all buffered producers.
35
+ * @param _isUnfilledQueueEmpty - Whether the unfilled queue is empty (ignored for parallel queries)
27
36
  * @hidden
28
37
  */
29
- async fetchMore(diagnosticNode) {
30
- try {
31
- // Buffer document producers and fill buffer from the queue
32
- await this.bufferDocumentProducers(diagnosticNode);
33
- await this.fillBufferFromBufferQueue();
34
- // Drain buffered items
35
- return this.drainBufferedItems();
36
- }
37
- catch (error) {
38
- // Handle any errors that occur during fetching
39
- console.error("Error fetching more documents:", error);
40
- throw error;
41
- }
38
+ shouldProcessBufferedProducers(_isUnfilledQueueEmpty) {
39
+ return true; // Process all buffered items in parallel queries
40
+ }
41
+ /**
42
+ * Creates a comparator function for sorting document producers in parallel queries.
43
+ * Sorts by partition key range minInclusive values, with empty string first,
44
+ * then lexicographically. Uses EPK ranges as secondary sort when minInclusive values are identical.
45
+ */
46
+ static createDocumentProducerComparator() {
47
+ return (docProd1, docProd2) => {
48
+ const aMinInclusive = docProd1.targetPartitionKeyRange.minInclusive;
49
+ const bMinInclusive = docProd2.targetPartitionKeyRange.minInclusive;
50
+ // Sort empty string first, then lexicographically (original logic)
51
+ if (aMinInclusive === bMinInclusive) {
52
+ // If minInclusive values are the same, check minEPK ranges if they exist
53
+ const aMinEpk = docProd1.startEpk;
54
+ const bMinEpk = docProd2.startEpk;
55
+ if (aMinEpk && bMinEpk) {
56
+ return aMinEpk < bMinEpk ? -1 : 1;
57
+ }
58
+ return 0;
59
+ }
60
+ if (aMinInclusive === "")
61
+ return -1;
62
+ if (bMinInclusive === "")
63
+ return 1;
64
+ return aMinInclusive < bMinInclusive ? -1 : 1;
65
+ };
42
66
  }
43
67
  }
44
68
  exports.ParallelQueryExecutionContext = ParallelQueryExecutionContext;
@@ -1 +1 @@
1
- {"version":3,"file":"parallelQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/parallelQueryExecutionContext.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAIlC,iGAA2F;AAI3F;;;;GAIG;AACH,MAAa,6BACX,SAAQ,wEAAiC;IAGzC,iCAAiC;IAEjC,2EAA2E;IAC3E;;;;OAIG;IACI,0BAA0B,CAC/B,QAA0B,EAC1B,QAA0B;QAE1B,OAAO,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CAAC,cAAuC;QAC5D,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEvC,uBAAuB;YACvB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+CAA+C;YAC/C,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAvCD,sEAuCC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { DocumentProducer } from \"./documentProducer.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport { ParallelQueryExecutionContextBase } from \"./parallelQueryExecutionContextBase.js\";\nimport { Response } from \"../request/index.js\";\nimport { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\n\n/**\n * Provides the ParallelQueryExecutionContext.\n * This class is capable of handling parallelized queries and derives from ParallelQueryExecutionContextBase.\n * @hidden\n */\nexport class ParallelQueryExecutionContext\n extends ParallelQueryExecutionContextBase\n implements ExecutionContext\n{\n // Instance members are inherited\n\n // Overriding documentProducerComparator for ParallelQueryExecutionContexts\n /**\n * Provides a Comparator for document producers using the min value of the corresponding target partition.\n * @returns Comparator Function\n * @hidden\n */\n public documentProducerComparator(\n docProd1: DocumentProducer,\n docProd2: DocumentProducer,\n ): number {\n return docProd1.generation - docProd2.generation;\n }\n\n /**\n * Fetches more results from the query execution context.\n * @param diagnosticNode - Optional diagnostic node for tracing.\n * @returns A promise that resolves to the fetched results.\n * @hidden\n */\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n try {\n // Buffer document producers and fill buffer from the queue\n await this.bufferDocumentProducers(diagnosticNode);\n await this.fillBufferFromBufferQueue();\n\n // Drain buffered items\n return this.drainBufferedItems();\n } catch (error) {\n // Handle any errors that occur during fetching\n console.error(\"Error fetching more documents:\", error);\n throw error;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"parallelQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/parallelQueryExecutionContext.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOlC,iGAA2F;AAI3F,4GAAsG;AACtG,qHAA+G;AAE/G;;;;GAIG;AACH,MAAa,6BACX,SAAQ,wEAAiC;IAGzC,YACE,aAA4B,EAC5B,cAAsB,EACtB,KAA4B,EAC5B,OAAoB,EACpB,6BAA4D,EAC5D,oBAA4B;QAE5B,MAAM,YAAY,GAAG,4DAA2B,CAAC,sBAAsB,CAAC;YACtE,SAAS,EAAE,6BAA6B;SACzC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,kBAAkB,GAAG,IAAI,oEAA+B,EAAE,CAAC;QAEjE,2CAA2C;QAC3C,MAAM,UAAU,GAAG,6BAA6B,CAAC,gCAAgC,EAAE,CAAC;QAEpF,oCAAoC;QACpC,KAAK,CACH,aAAa,EACb,cAAc,EACd,KAAK,EACL,OAAO,EACP,6BAA6B,EAC7B,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB,CAAC,QAA0B;QAC1D,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACO,8BAA8B,CAAC,qBAA8B;QACrE,OAAO,IAAI,CAAC,CAAC,iDAAiD;IAChE,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,gCAAgC;QAI7C,OAAO,CAAC,QAA0B,EAAE,QAA0B,EAAU,EAAE;YACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,uBAAuB,CAAC,YAAY,CAAC;YACpE,MAAM,aAAa,GAAG,QAAQ,CAAC,uBAAuB,CAAC,YAAY,CAAC;YAEpE,mEAAmE;YACnE,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;gBACpC,yEAAyE;gBACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAClC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;oBACvB,OAAO,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,aAAa,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,aAAa,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAC;YACnC,OAAO,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;CACF;AAjFD,sEAiFC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { PartitionedQueryExecutionInfo } from \"../request/ErrorResponse.js\";\nimport type { FeedOptions } from \"../request/FeedOptions.js\";\nimport type { DocumentProducer } from \"./documentProducer.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport { ParallelQueryExecutionContextBase } from \"./parallelQueryExecutionContextBase.js\";\nimport type { Response } from \"../request/index.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\n\nimport { TargetPartitionRangeManager } from \"./queryFilteringStrategy/TargetPartitionRangeManager.js\";\nimport { ParallelQueryProcessingStrategy } from \"./queryProcessingStrategy/ParallelQueryProcessingStrategy.js\";\n\n/**\n * Provides the ParallelQueryExecutionContext.\n * This class is capable of handling parallelized queries and derives from ParallelQueryExecutionContextBase.\n * @hidden\n */\nexport class ParallelQueryExecutionContext\n extends ParallelQueryExecutionContextBase\n implements ExecutionContext\n{\n constructor(\n clientContext: ClientContext,\n collectionLink: string,\n query: string | SqlQuerySpec,\n options: FeedOptions,\n partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n correlatedActivityId: string,\n ) {\n const rangeManager = TargetPartitionRangeManager.createForParallelQuery({\n queryInfo: partitionedQueryExecutionInfo,\n });\n\n // Create parallel query processing strategy\n const processingStrategy = new ParallelQueryProcessingStrategy();\n\n // Create comparator for document producers\n const comparator = ParallelQueryExecutionContext.createDocumentProducerComparator();\n\n // Calling on base class constructor\n super(\n clientContext,\n collectionLink,\n query,\n options,\n partitionedQueryExecutionInfo,\n correlatedActivityId,\n rangeManager,\n processingStrategy,\n comparator,\n );\n }\n\n /**\n * Fetches all buffered items from producer for parallel processing.\n */\n protected async fetchFromProducer(producer: DocumentProducer): Promise<Response<any>> {\n return producer.fetchBufferedItems();\n }\n\n /**\n * Determines if buffered producers should continue to be processed for parallel queries.\n * For parallel queries, we process all buffered producers.\n * @param _isUnfilledQueueEmpty - Whether the unfilled queue is empty (ignored for parallel queries)\n * @hidden\n */\n protected shouldProcessBufferedProducers(_isUnfilledQueueEmpty: boolean): boolean {\n return true; // Process all buffered items in parallel queries\n }\n\n /**\n * Creates a comparator function for sorting document producers in parallel queries.\n * Sorts by partition key range minInclusive values, with empty string first,\n * then lexicographically. Uses EPK ranges as secondary sort when minInclusive values are identical.\n */\n private static createDocumentProducerComparator(): (\n docProd1: DocumentProducer,\n docProd2: DocumentProducer,\n ) => number {\n return (docProd1: DocumentProducer, docProd2: DocumentProducer): number => {\n const aMinInclusive = docProd1.targetPartitionKeyRange.minInclusive;\n const bMinInclusive = docProd2.targetPartitionKeyRange.minInclusive;\n\n // Sort empty string first, then lexicographically (original logic)\n if (aMinInclusive === bMinInclusive) {\n // If minInclusive values are the same, check minEPK ranges if they exist\n const aMinEpk = docProd1.startEpk;\n const bMinEpk = docProd2.startEpk;\n if (aMinEpk && bMinEpk) {\n return aMinEpk < bMinEpk ? -1 : 1;\n }\n return 0;\n }\n if (aMinInclusive === \"\") return -1;\n if (bMinInclusive === \"\") return 1;\n return aMinInclusive < bMinInclusive ? -1 : 1;\n };\n }\n}\n"]}