@azure/cosmos 4.8.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/dist/browser/common/constants.d.ts.map +1 -1
  2. package/dist/browser/common/constants.js +16 -1
  3. package/dist/browser/common/constants.js.map +1 -1
  4. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  5. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  6. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  7. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  8. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  9. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  10. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  11. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  12. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  13. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  14. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  15. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  16. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  17. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  18. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  19. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  20. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  21. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  22. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  23. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  24. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  25. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  26. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  27. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  28. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  29. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  30. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  31. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  32. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  33. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  34. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
  35. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  36. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  37. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  38. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  39. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  40. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  41. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  42. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  43. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  44. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  45. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  46. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  47. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  48. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  49. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  50. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  51. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  52. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  53. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  54. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  55. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  56. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  57. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  58. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  59. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  60. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  61. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  62. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  63. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  64. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  65. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  66. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  67. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  68. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
  69. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  70. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  71. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  72. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
  73. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  74. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  75. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  76. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  77. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  78. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  79. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  80. package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
  81. package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  82. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  83. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  84. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  85. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  86. package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
  87. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  88. package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
  89. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  90. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  91. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  92. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  93. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  94. package/dist/browser/queryExecutionContext/index.d.ts +7 -0
  95. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  96. package/dist/browser/queryExecutionContext/index.js +4 -0
  97. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  98. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  99. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  100. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  101. package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
  102. package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  103. package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
  104. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  105. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  106. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  107. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  108. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  109. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  110. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  111. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  112. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  113. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  114. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  115. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  116. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  117. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  118. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  119. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  120. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  121. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  122. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  123. package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
  124. package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
  125. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  126. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  127. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  128. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  130. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  131. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  132. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  133. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  134. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  135. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  136. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  137. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  138. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  139. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  140. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  141. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  142. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  143. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  144. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  145. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  146. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  147. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  148. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  149. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  150. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  151. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  152. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  153. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  154. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  155. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  156. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  157. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  158. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  159. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  160. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  161. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  162. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  163. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  164. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  165. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  166. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  167. package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
  168. package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
  169. package/dist/browser/queryIterator.js.map +1 -1
  170. package/dist/browser/utils/offers.d.ts.map +1 -1
  171. package/dist/browser/utils/offers.js +0 -1
  172. package/dist/browser/utils/offers.js.map +1 -1
  173. package/dist/commonjs/common/constants.d.ts.map +1 -1
  174. package/dist/commonjs/common/constants.js +13 -2
  175. package/dist/commonjs/common/constants.js.map +1 -1
  176. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  177. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  178. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  179. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  180. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  181. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  182. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  183. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  184. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  185. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  186. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  187. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  188. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  189. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  190. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  191. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  192. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  193. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  194. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  195. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  196. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  197. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  198. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  199. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  200. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  201. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  202. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  203. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  204. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  205. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  206. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  207. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  208. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  209. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  210. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  211. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  212. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  213. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  214. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  215. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  216. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  217. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  218. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  219. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  220. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  221. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  222. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  223. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  224. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  225. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  226. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  227. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  228. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  229. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  230. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  231. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  232. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  233. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  234. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  235. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  236. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  237. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  238. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  239. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  240. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  241. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  242. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  243. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  244. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  245. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  246. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  247. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  248. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  249. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  250. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  251. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  252. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  253. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  254. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  255. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  256. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  257. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  258. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  259. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  260. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  261. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  262. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  263. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  264. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  265. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  266. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  267. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  269. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  271. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  272. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  274. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  275. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  276. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  278. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  280. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  281. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  282. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  283. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  284. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  285. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  286. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  287. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  288. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  289. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  290. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  291. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  292. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  293. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  294. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  295. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  296. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  297. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  298. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  299. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  300. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  301. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  302. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  303. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  304. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  305. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  306. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  307. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  308. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  309. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  310. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  311. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  312. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  313. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  314. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  315. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  316. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  317. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  318. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  319. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  320. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  321. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  322. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  323. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  324. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  325. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  326. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  327. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  328. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  329. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  330. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  331. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  332. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  333. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  334. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  335. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  336. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  337. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  338. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  339. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  340. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  341. package/dist/commonjs/queryIterator.js.map +1 -1
  342. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  343. package/dist/commonjs/utils/offers.js +0 -1
  344. package/dist/commonjs/utils/offers.js.map +1 -1
  345. package/dist/esm/common/constants.d.ts.map +1 -1
  346. package/dist/esm/common/constants.js +16 -1
  347. package/dist/esm/common/constants.js.map +1 -1
  348. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  349. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  350. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  351. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  352. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  353. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  354. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  355. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  356. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  357. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  358. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  359. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  360. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  361. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  362. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  363. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  364. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  365. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  366. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  367. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  368. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  369. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  370. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  371. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  372. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  373. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  374. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  375. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  376. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  377. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  378. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  379. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  380. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  381. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  382. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  383. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  384. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  385. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  386. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  387. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  388. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  389. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  390. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  391. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  392. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  393. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  394. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  395. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  396. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  397. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  398. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  399. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  400. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  401. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  402. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  403. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  404. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  405. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  406. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  407. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  408. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  409. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  410. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  411. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  412. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  413. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  414. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  415. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  416. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  417. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  418. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  419. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  420. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  421. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  422. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  423. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  424. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  425. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  426. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  427. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  428. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  429. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  430. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  431. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  432. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  433. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  434. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  435. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  436. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  437. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  438. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  439. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  440. package/dist/esm/queryExecutionContext/index.js +4 -0
  441. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  442. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  443. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  444. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  445. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  446. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  447. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  448. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  449. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  450. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  451. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  452. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  453. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  454. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  455. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  456. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  457. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  458. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  459. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  460. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  461. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  462. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  463. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  464. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  465. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  466. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  467. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  468. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  469. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  470. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  471. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  472. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  473. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  474. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  475. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  476. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  477. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  478. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  479. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  480. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  481. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  482. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  483. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  484. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  485. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  486. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  487. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  488. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  489. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  490. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  491. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  492. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  493. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  494. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  495. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  496. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  497. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  498. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  499. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  500. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  501. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  502. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  503. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  504. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  505. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  506. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  507. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  508. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  509. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  510. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  511. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  512. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  513. package/dist/esm/queryIterator.js.map +1 -1
  514. package/dist/esm/utils/offers.d.ts.map +1 -1
  515. package/dist/esm/utils/offers.js +0 -1
  516. package/dist/esm/utils/offers.js.map +1 -1
  517. package/dist/react-native/common/constants.d.ts.map +1 -1
  518. package/dist/react-native/common/constants.js +16 -1
  519. package/dist/react-native/common/constants.js.map +1 -1
  520. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  521. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  522. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  523. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  524. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  525. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  526. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  527. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  528. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  529. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  530. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  531. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  532. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  533. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  534. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  535. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  536. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  537. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  538. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  539. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  540. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  541. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  542. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  543. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  544. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  545. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  546. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  547. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  548. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  549. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  550. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  551. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  552. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  553. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  554. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  555. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  556. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  557. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  558. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  559. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  560. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  561. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  562. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  563. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  564. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  565. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  566. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  567. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  568. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  569. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  570. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  571. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  572. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  573. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  574. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  575. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  576. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  577. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  578. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  579. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  580. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  581. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  582. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  583. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  584. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  585. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  586. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  587. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  588. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  589. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  590. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  591. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  592. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  593. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  594. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  595. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  596. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  597. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  598. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  599. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  600. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  601. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  602. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  603. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  604. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  605. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  606. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  607. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  608. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  609. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  610. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  611. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  612. package/dist/react-native/queryExecutionContext/index.js +4 -0
  613. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  614. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  615. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  616. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  617. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  618. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  619. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  620. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  621. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  622. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  623. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  624. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  625. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  626. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  627. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  628. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  629. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  630. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  631. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  632. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  633. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  634. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  635. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  636. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  637. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  638. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  639. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  640. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  641. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  642. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  643. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  644. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  645. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  646. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  647. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  648. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  649. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  650. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  651. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  652. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  653. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  654. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  655. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  656. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  657. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  658. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  659. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  660. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  661. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  662. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  663. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  664. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  665. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  666. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  667. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  668. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  669. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  670. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  671. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  672. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  673. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  674. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  675. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  676. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  677. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  678. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  679. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  680. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  681. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  682. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  683. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  684. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  685. package/dist/react-native/queryIterator.js.map +1 -1
  686. package/dist/react-native/utils/offers.d.ts.map +1 -1
  687. package/dist/react-native/utils/offers.js +0 -1
  688. package/dist/react-native/utils/offers.js.map +1 -1
  689. package/package.json +1 -1
@@ -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"}
@@ -32,10 +32,21 @@ export class OrderByDocumentProducerComparator {
32
32
  constructor(sortOrder) {
33
33
  this.sortOrder = sortOrder;
34
34
  } // TODO: This should be an enum
35
+ /**
36
+ * Compares document producers based on their partition key range minInclusive values.
37
+ * Uses minEPK as a tie-breaker when minInclusive values are equal.
38
+ */
35
39
  targetPartitionKeyRangeDocProdComparator(docProd1, docProd2) {
36
- const a = docProd1.getTargetParitionKeyRange()["minInclusive"];
37
- const b = docProd2.getTargetParitionKeyRange()["minInclusive"];
38
- return a === b ? 0 : a > b ? 1 : -1;
40
+ const a = docProd1.getTargetPartitionKeyRange().minInclusive;
41
+ const b = docProd2.getTargetPartitionKeyRange().minInclusive;
42
+ // Primary comparison using minInclusive (ascending lexicographic order)
43
+ if (a !== b) {
44
+ return a < b ? -1 : 1;
45
+ }
46
+ // Tie-breaker: use minEPK when minInclusive values are equal
47
+ const epkA = docProd1.startEpk;
48
+ const epkB = docProd2.startEpk;
49
+ return epkA !== undefined && epkB !== undefined ? (epkA < epkB ? -1 : epkA > epkB ? 1 : 0) : 0;
39
50
  }
40
51
  compare(docProd1, docProd2) {
41
52
  // Need to check for split, since we don't want to dereference "item" of undefined / exception
@@ -63,7 +74,9 @@ export class OrderByDocumentProducerComparator {
63
74
  }
64
75
  }
65
76
  }
66
- return this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2);
77
+ // If all ORDER BY comparisons result in equality, use partition range as tie-breaker
78
+ const partitionRangeResult = this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2);
79
+ return partitionRangeResult;
67
80
  }
68
81
  // TODO: This smells funny
69
82
  compareValue(item1, type1, item2, type2) {
@@ -91,9 +104,7 @@ export class OrderByDocumentProducerComparator {
91
104
  return compFunc(item1, item2);
92
105
  }
93
106
  compareOrderByItem(orderByItem1, orderByItem2) {
94
- const type1 = this.getType(orderByItem1);
95
- const type2 = this.getType(orderByItem2);
96
- return this.compareValue(orderByItem1["item"], type1, orderByItem2["item"], type2);
107
+ return this.compareValue(orderByItem1["item"], this.getType(orderByItem1), orderByItem2["item"], this.getType(orderByItem2));
97
108
  }
98
109
  validateOrderByItems(res1, res2) {
99
110
  if (res1.length !== res2.length) {
@@ -1 +1 @@
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 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"}
@@ -1,8 +1,9 @@
1
1
  import { OrderByDocumentProducerComparator } from "./orderByDocumentProducerComparator.js";
2
2
  import { ParallelQueryExecutionContextBase } from "./parallelQueryExecutionContextBase.js";
3
+ import { TargetPartitionRangeManager } from "./queryFilteringStrategy/TargetPartitionRangeManager.js";
4
+ import { OrderByQueryProcessingStrategy } from "./queryProcessingStrategy/OrderByQueryProcessingStrategy.js";
3
5
  /** @hidden */
4
6
  export class OrderByQueryExecutionContext extends ParallelQueryExecutionContextBase {
5
- orderByComparator;
6
7
  /**
7
8
  * Provides the OrderByQueryExecutionContext.
8
9
  * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase.
@@ -17,36 +18,42 @@ export class OrderByQueryExecutionContext extends ParallelQueryExecutionContextB
17
18
  * @hidden
18
19
  */
19
20
  constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId) {
21
+ const rangeManager = TargetPartitionRangeManager.createForOrderByQuery({
22
+ queryInfo: partitionedQueryExecutionInfo,
23
+ });
24
+ // Create ORDER BY query processing strategy with sortOrders
25
+ const processingStrategy = new OrderByQueryProcessingStrategy(partitionedQueryExecutionInfo.queryInfo.orderBy);
26
+ // Create ORDER BY comparator (need to access sortOrders from partitionedQueryExecutionInfo)
27
+ const orderByComparator = new OrderByDocumentProducerComparator(partitionedQueryExecutionInfo.queryInfo.orderBy);
28
+ // Create comparator function for ORDER BY queries
29
+ const comparator = (docProd1, docProd2) => {
30
+ return orderByComparator.compare(docProd1, docProd2);
31
+ };
20
32
  // Calling on base class constructor
21
- super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId);
22
- this.orderByComparator = new OrderByDocumentProducerComparator(this.sortOrders);
33
+ super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId, rangeManager, processingStrategy, comparator);
23
34
  }
24
- // Instance members are inherited
25
- // Overriding documentProducerComparator for OrderByQueryExecutionContexts
26
35
  /**
27
- * Provides a Comparator for document producers which respects orderby sort order.
28
- * @returns Comparator Function
29
- * @hidden
36
+ * Fetches next single item from producer for ORDER BY processing.
30
37
  */
31
- documentProducerComparator(docProd1, docProd2) {
32
- return this.orderByComparator.compare(docProd1, docProd2);
38
+ async fetchFromProducer(producer) {
39
+ const response = await producer.fetchNextItem();
40
+ if (response && response.result) {
41
+ return {
42
+ result: [response.result],
43
+ headers: response.headers,
44
+ };
45
+ }
46
+ return response;
33
47
  }
34
48
  /**
35
- * Fetches more results from the query execution context.
36
- * @param diagnosticNode - Optional diagnostic node for tracing.
37
- * @returns A promise that resolves to the fetched results.
49
+ * Determines if buffered producers should continue to be processed for ORDER BY queries.
50
+ * For ORDER BY, only process when no unfilled producers remain to maintain order.
51
+ * @param isUnfilledQueueEmpty - Whether the unfilled queue is empty
38
52
  * @hidden
39
53
  */
40
- async fetchMore(diagnosticNode) {
41
- try {
42
- await this.bufferDocumentProducers(diagnosticNode);
43
- await this.fillBufferFromBufferQueue(true);
44
- return this.drainBufferedItems();
45
- }
46
- catch (error) {
47
- console.error("Error fetching more results:", error);
48
- throw error;
49
- }
54
+ shouldProcessBufferedProducers(isUnfilledQueueEmpty) {
55
+ // For ORDER BY, only process when no unfilled producers remain to maintain order
56
+ return isUnfilledQueueEmpty;
50
57
  }
51
58
  }
52
59
  //# sourceMappingURL=orderByQueryExecutionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orderByQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/orderByQueryExecutionContext.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAG3F,cAAc;AACd,MAAM,OAAO,4BACX,SAAQ,iCAAiC;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,iCAAiC,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","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,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAE3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,6DAA6D,CAAC;AAE7G,cAAc;AACd,MAAM,OAAO,4BACX,SAAQ,iCAAiC;IAGzC;;;;;;;;;;;;OAYG;IACH,YACE,aAA4B,EAC5B,cAAsB,EACtB,KAA4B,EAC5B,OAAoB,EACpB,6BAA4D,EAC5D,oBAA4B;QAE5B,MAAM,YAAY,GAAG,2BAA2B,CAAC,qBAAqB,CAAC;YACrE,SAAS,EAAE,6BAA6B;SACzC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,IAAI,8BAA8B,CAC3D,6BAA6B,CAAC,SAAS,CAAC,OAAO,CAChD,CAAC;QAEF,4FAA4F;QAC5F,MAAM,iBAAiB,GAAG,IAAI,iCAAiC,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","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"}
@@ -1,41 +1,65 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import { ParallelQueryExecutionContextBase } from "./parallelQueryExecutionContextBase.js";
4
+ import { TargetPartitionRangeManager } from "./queryFilteringStrategy/TargetPartitionRangeManager.js";
5
+ import { ParallelQueryProcessingStrategy } from "./queryProcessingStrategy/ParallelQueryProcessingStrategy.js";
4
6
  /**
5
7
  * Provides the ParallelQueryExecutionContext.
6
8
  * This class is capable of handling parallelized queries and derives from ParallelQueryExecutionContextBase.
7
9
  * @hidden
8
10
  */
9
11
  export class ParallelQueryExecutionContext extends ParallelQueryExecutionContextBase {
10
- // Instance members are inherited
11
- // Overriding documentProducerComparator for ParallelQueryExecutionContexts
12
+ constructor(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId) {
13
+ const rangeManager = TargetPartitionRangeManager.createForParallelQuery({
14
+ queryInfo: partitionedQueryExecutionInfo,
15
+ });
16
+ // Create parallel query processing strategy
17
+ const processingStrategy = new ParallelQueryProcessingStrategy();
18
+ // Create comparator for document producers
19
+ const comparator = ParallelQueryExecutionContext.createDocumentProducerComparator();
20
+ // Calling on base class constructor
21
+ super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo, correlatedActivityId, rangeManager, processingStrategy, comparator);
22
+ }
12
23
  /**
13
- * Provides a Comparator for document producers using the min value of the corresponding target partition.
14
- * @returns Comparator Function
15
- * @hidden
24
+ * Fetches all buffered items from producer for parallel processing.
16
25
  */
17
- documentProducerComparator(docProd1, docProd2) {
18
- return docProd1.generation - docProd2.generation;
26
+ async fetchFromProducer(producer) {
27
+ return producer.fetchBufferedItems();
19
28
  }
20
29
  /**
21
- * Fetches more results from the query execution context.
22
- * @param diagnosticNode - Optional diagnostic node for tracing.
23
- * @returns A promise that resolves to the fetched results.
30
+ * Determines if buffered producers should continue to be processed for parallel queries.
31
+ * For parallel queries, we process all buffered producers.
32
+ * @param _isUnfilledQueueEmpty - Whether the unfilled queue is empty (ignored for parallel queries)
24
33
  * @hidden
25
34
  */
26
- async fetchMore(diagnosticNode) {
27
- try {
28
- // Buffer document producers and fill buffer from the queue
29
- await this.bufferDocumentProducers(diagnosticNode);
30
- await this.fillBufferFromBufferQueue();
31
- // Drain buffered items
32
- return this.drainBufferedItems();
33
- }
34
- catch (error) {
35
- // Handle any errors that occur during fetching
36
- console.error("Error fetching more documents:", error);
37
- throw error;
38
- }
35
+ shouldProcessBufferedProducers(_isUnfilledQueueEmpty) {
36
+ return true; // Process all buffered items in parallel queries
37
+ }
38
+ /**
39
+ * Creates a comparator function for sorting document producers in parallel queries.
40
+ * Sorts by partition key range minInclusive values, with empty string first,
41
+ * then lexicographically. Uses EPK ranges as secondary sort when minInclusive values are identical.
42
+ */
43
+ static createDocumentProducerComparator() {
44
+ return (docProd1, docProd2) => {
45
+ const aMinInclusive = docProd1.targetPartitionKeyRange.minInclusive;
46
+ const bMinInclusive = docProd2.targetPartitionKeyRange.minInclusive;
47
+ // Sort empty string first, then lexicographically (original logic)
48
+ if (aMinInclusive === bMinInclusive) {
49
+ // If minInclusive values are the same, check minEPK ranges if they exist
50
+ const aMinEpk = docProd1.startEpk;
51
+ const bMinEpk = docProd2.startEpk;
52
+ if (aMinEpk && bMinEpk) {
53
+ return aMinEpk < bMinEpk ? -1 : 1;
54
+ }
55
+ return 0;
56
+ }
57
+ if (aMinInclusive === "")
58
+ return -1;
59
+ if (bMinInclusive === "")
60
+ return 1;
61
+ return aMinInclusive < bMinInclusive ? -1 : 1;
62
+ };
39
63
  }
40
64
  }
41
65
  //# sourceMappingURL=parallelQueryExecutionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallelQueryExecutionContext.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/parallelQueryExecutionContext.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAI3F;;;;GAIG;AACH,MAAM,OAAO,6BACX,SAAQ,iCAAiC;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","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,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAI3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AAE/G;;;;GAIG;AACH,MAAM,OAAO,6BACX,SAAQ,iCAAiC;IAGzC,YACE,aAA4B,EAC5B,cAAsB,EACtB,KAA4B,EAC5B,OAAoB,EACpB,6BAA4D,EAC5D,oBAA4B;QAE5B,MAAM,YAAY,GAAG,2BAA2B,CAAC,sBAAsB,CAAC;YACtE,SAAS,EAAE,6BAA6B;SACzC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,kBAAkB,GAAG,IAAI,+BAA+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","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"]}