@azure/cosmos 4.9.2 → 4.9.3

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 (684) hide show
  1. package/dist/browser/common/constants.js +1 -1
  2. package/dist/browser/common/constants.js.map +1 -1
  3. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  4. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  5. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  6. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  7. package/dist/commonjs/ChangeFeedIterator.js +6 -0
  8. package/dist/commonjs/ChangeFeedIterator.js.map +2 -2
  9. package/dist/commonjs/ChangeFeedOptions.js +1 -0
  10. package/dist/commonjs/ChangeFeedOptions.js.map +1 -1
  11. package/dist/commonjs/ChangeFeedResponse.js +5 -0
  12. package/dist/commonjs/ChangeFeedResponse.js.map +2 -2
  13. package/dist/commonjs/ClientContext.js +6 -0
  14. package/dist/commonjs/ClientContext.js.map +2 -2
  15. package/dist/commonjs/CosmosClient.js +1 -0
  16. package/dist/commonjs/CosmosClient.js.map +1 -1
  17. package/dist/commonjs/CosmosClientOptions.js +1 -0
  18. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  19. package/dist/commonjs/CosmosDiagnostics.js +1 -0
  20. package/dist/commonjs/CosmosDiagnostics.js.map +1 -1
  21. package/dist/commonjs/GlobalEndpointManagerOptions.js +1 -0
  22. package/dist/commonjs/GlobalEndpointManagerOptions.js.map +1 -1
  23. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +1 -0
  24. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +1 -1
  25. package/dist/commonjs/auth.js +1 -0
  26. package/dist/commonjs/auth.js.map +1 -1
  27. package/dist/commonjs/bulk/Batcher.js +1 -0
  28. package/dist/commonjs/bulk/Batcher.js.map +1 -1
  29. package/dist/commonjs/bulk/BulkHelper.js +1 -0
  30. package/dist/commonjs/bulk/BulkHelper.js.map +1 -1
  31. package/dist/commonjs/bulk/BulkResponse.js +1 -0
  32. package/dist/commonjs/bulk/BulkResponse.js.map +1 -1
  33. package/dist/commonjs/bulk/CongestionAlgorithm.js +1 -0
  34. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +1 -1
  35. package/dist/commonjs/bulk/HelperPerPartition.js +1 -0
  36. package/dist/commonjs/bulk/HelperPerPartition.js.map +1 -1
  37. package/dist/commonjs/bulk/ItemOperation.js +1 -0
  38. package/dist/commonjs/bulk/ItemOperation.js.map +1 -1
  39. package/dist/commonjs/bulk/ItemOperationContext.js +1 -0
  40. package/dist/commonjs/bulk/ItemOperationContext.js.map +1 -1
  41. package/dist/commonjs/bulk/Limiter.js +1 -0
  42. package/dist/commonjs/bulk/Limiter.js.map +1 -1
  43. package/dist/commonjs/bulk/PartitionMetric.js +1 -0
  44. package/dist/commonjs/bulk/PartitionMetric.js.map +1 -1
  45. package/dist/commonjs/bulk/index.js +1 -0
  46. package/dist/commonjs/bulk/index.js.map +1 -1
  47. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js +1 -0
  48. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js.map +1 -1
  49. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +9 -0
  50. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +2 -2
  51. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +7 -0
  52. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +2 -2
  53. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +5 -0
  54. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +2 -2
  55. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js +1 -0
  56. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  57. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +6 -0
  58. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +2 -2
  59. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js +1 -0
  60. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js.map +1 -1
  61. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  62. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  63. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js +1 -0
  64. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js.map +1 -1
  65. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +1 -0
  66. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  67. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  68. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  69. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js +1 -0
  70. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js.map +1 -1
  71. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  72. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  73. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  74. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  75. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  76. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  77. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +1 -0
  78. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  79. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +1 -0
  80. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  81. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +1 -0
  82. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  83. package/dist/commonjs/client/ChangeFeed/FeedRange.js +1 -0
  84. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +1 -1
  85. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +1 -0
  86. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  87. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js +1 -0
  88. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  89. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js +1 -0
  90. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  91. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +1 -0
  92. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  93. package/dist/commonjs/client/ChangeFeed/index.js +1 -0
  94. package/dist/commonjs/client/ChangeFeed/index.js.map +1 -1
  95. package/dist/commonjs/client/ClientUtils.js +1 -0
  96. package/dist/commonjs/client/ClientUtils.js.map +1 -1
  97. package/dist/commonjs/client/Conflict/Conflict.js +5 -0
  98. package/dist/commonjs/client/Conflict/Conflict.js.map +2 -2
  99. package/dist/commonjs/client/Conflict/ConflictDefinition.js +1 -0
  100. package/dist/commonjs/client/Conflict/ConflictDefinition.js.map +1 -1
  101. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js +1 -0
  102. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js.map +1 -1
  103. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js +1 -0
  104. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js.map +1 -1
  105. package/dist/commonjs/client/Conflict/ConflictResponse.js +1 -0
  106. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +1 -1
  107. package/dist/commonjs/client/Conflict/Conflicts.js +3 -0
  108. package/dist/commonjs/client/Conflict/Conflicts.js.map +2 -2
  109. package/dist/commonjs/client/Conflict/index.js +1 -0
  110. package/dist/commonjs/client/Conflict/index.js.map +1 -1
  111. package/dist/commonjs/client/Container/Container.js +5 -0
  112. package/dist/commonjs/client/Container/Container.js.map +2 -2
  113. package/dist/commonjs/client/Container/ContainerDefinition.js +1 -0
  114. package/dist/commonjs/client/Container/ContainerDefinition.js.map +1 -1
  115. package/dist/commonjs/client/Container/ContainerRequest.js +1 -0
  116. package/dist/commonjs/client/Container/ContainerRequest.js.map +1 -1
  117. package/dist/commonjs/client/Container/ContainerResponse.js +1 -0
  118. package/dist/commonjs/client/Container/ContainerResponse.js.map +1 -1
  119. package/dist/commonjs/client/Container/Containers.js +4 -0
  120. package/dist/commonjs/client/Container/Containers.js.map +2 -2
  121. package/dist/commonjs/client/Container/PartitionKeyRange.js +1 -0
  122. package/dist/commonjs/client/Container/PartitionKeyRange.js.map +1 -1
  123. package/dist/commonjs/client/Container/UniqueKeyPolicy.js +1 -0
  124. package/dist/commonjs/client/Container/UniqueKeyPolicy.js.map +1 -1
  125. package/dist/commonjs/client/Container/index.js +1 -0
  126. package/dist/commonjs/client/Container/index.js.map +1 -1
  127. package/dist/commonjs/client/Database/Database.js +5 -0
  128. package/dist/commonjs/client/Database/Database.js.map +2 -2
  129. package/dist/commonjs/client/Database/DatabaseDefinition.js +1 -0
  130. package/dist/commonjs/client/Database/DatabaseDefinition.js.map +1 -1
  131. package/dist/commonjs/client/Database/DatabaseRequest.js +1 -0
  132. package/dist/commonjs/client/Database/DatabaseRequest.js.map +1 -1
  133. package/dist/commonjs/client/Database/DatabaseResponse.js +1 -0
  134. package/dist/commonjs/client/Database/DatabaseResponse.js.map +1 -1
  135. package/dist/commonjs/client/Database/Databases.js +4 -0
  136. package/dist/commonjs/client/Database/Databases.js.map +2 -2
  137. package/dist/commonjs/client/Database/index.js +1 -0
  138. package/dist/commonjs/client/Database/index.js.map +1 -1
  139. package/dist/commonjs/client/Item/Item.js +4 -0
  140. package/dist/commonjs/client/Item/Item.js.map +2 -2
  141. package/dist/commonjs/client/Item/ItemDefinition.js +1 -0
  142. package/dist/commonjs/client/Item/ItemDefinition.js.map +1 -1
  143. package/dist/commonjs/client/Item/ItemResponse.js +1 -0
  144. package/dist/commonjs/client/Item/ItemResponse.js.map +1 -1
  145. package/dist/commonjs/client/Item/Items.js +3 -0
  146. package/dist/commonjs/client/Item/Items.js.map +2 -2
  147. package/dist/commonjs/client/Item/index.js +1 -0
  148. package/dist/commonjs/client/Item/index.js.map +1 -1
  149. package/dist/commonjs/client/Offer/Offer.js +4 -0
  150. package/dist/commonjs/client/Offer/Offer.js.map +2 -2
  151. package/dist/commonjs/client/Offer/OfferDefinition.js +1 -0
  152. package/dist/commonjs/client/Offer/OfferDefinition.js.map +1 -1
  153. package/dist/commonjs/client/Offer/OfferResponse.js +1 -0
  154. package/dist/commonjs/client/Offer/OfferResponse.js.map +1 -1
  155. package/dist/commonjs/client/Offer/Offers.js +3 -0
  156. package/dist/commonjs/client/Offer/Offers.js.map +2 -2
  157. package/dist/commonjs/client/Offer/index.js +1 -0
  158. package/dist/commonjs/client/Offer/index.js.map +1 -1
  159. package/dist/commonjs/client/Permission/Permission.js +4 -0
  160. package/dist/commonjs/client/Permission/Permission.js.map +2 -2
  161. package/dist/commonjs/client/Permission/PermissionBody.js +1 -0
  162. package/dist/commonjs/client/Permission/PermissionBody.js.map +1 -1
  163. package/dist/commonjs/client/Permission/PermissionDefinition.js +1 -0
  164. package/dist/commonjs/client/Permission/PermissionDefinition.js.map +1 -1
  165. package/dist/commonjs/client/Permission/PermissionResponse.js +1 -0
  166. package/dist/commonjs/client/Permission/PermissionResponse.js.map +1 -1
  167. package/dist/commonjs/client/Permission/Permissions.js +3 -0
  168. package/dist/commonjs/client/Permission/Permissions.js.map +2 -2
  169. package/dist/commonjs/client/Permission/index.js +1 -0
  170. package/dist/commonjs/client/Permission/index.js.map +1 -1
  171. package/dist/commonjs/client/Resource.js +1 -0
  172. package/dist/commonjs/client/Resource.js.map +1 -1
  173. package/dist/commonjs/client/SasToken/PermissionScopeValues.js +1 -0
  174. package/dist/commonjs/client/SasToken/PermissionScopeValues.js.map +1 -1
  175. package/dist/commonjs/client/SasToken/SasTokenProperties.js +1 -0
  176. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +1 -1
  177. package/dist/commonjs/client/Script/Scripts.js +3 -0
  178. package/dist/commonjs/client/Script/Scripts.js.map +2 -2
  179. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +4 -0
  180. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +2 -2
  181. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js +1 -0
  182. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js.map +1 -1
  183. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +1 -0
  184. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  185. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +3 -0
  186. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +2 -2
  187. package/dist/commonjs/client/StoredProcedure/index.js +1 -0
  188. package/dist/commonjs/client/StoredProcedure/index.js.map +1 -1
  189. package/dist/commonjs/client/Trigger/Trigger.js +4 -0
  190. package/dist/commonjs/client/Trigger/Trigger.js.map +2 -2
  191. package/dist/commonjs/client/Trigger/TriggerDefinition.js +1 -0
  192. package/dist/commonjs/client/Trigger/TriggerDefinition.js.map +1 -1
  193. package/dist/commonjs/client/Trigger/TriggerResponse.js +1 -0
  194. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +1 -1
  195. package/dist/commonjs/client/Trigger/Triggers.js +3 -0
  196. package/dist/commonjs/client/Trigger/Triggers.js.map +2 -2
  197. package/dist/commonjs/client/Trigger/index.js +1 -0
  198. package/dist/commonjs/client/Trigger/index.js.map +1 -1
  199. package/dist/commonjs/client/User/User.js +4 -0
  200. package/dist/commonjs/client/User/User.js.map +2 -2
  201. package/dist/commonjs/client/User/UserDefinition.js +1 -0
  202. package/dist/commonjs/client/User/UserDefinition.js.map +1 -1
  203. package/dist/commonjs/client/User/UserResponse.js +1 -0
  204. package/dist/commonjs/client/User/UserResponse.js.map +1 -1
  205. package/dist/commonjs/client/User/Users.js +3 -0
  206. package/dist/commonjs/client/User/Users.js.map +2 -2
  207. package/dist/commonjs/client/User/index.js +1 -0
  208. package/dist/commonjs/client/User/index.js.map +1 -1
  209. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +4 -0
  210. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +2 -2
  211. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js +1 -0
  212. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js.map +1 -1
  213. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +1 -0
  214. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  215. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +3 -0
  216. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +2 -2
  217. package/dist/commonjs/client/UserDefinedFunction/index.js +1 -0
  218. package/dist/commonjs/client/UserDefinedFunction/index.js.map +1 -1
  219. package/dist/commonjs/client/index.js +1 -0
  220. package/dist/commonjs/client/index.js.map +1 -1
  221. package/dist/commonjs/common/constants.js +2 -1
  222. package/dist/commonjs/common/constants.js.map +2 -2
  223. package/dist/commonjs/common/helper.js +1 -0
  224. package/dist/commonjs/common/helper.js.map +1 -1
  225. package/dist/commonjs/common/index.js +1 -0
  226. package/dist/commonjs/common/index.js.map +1 -1
  227. package/dist/commonjs/common/logger.js +1 -0
  228. package/dist/commonjs/common/logger.js.map +1 -1
  229. package/dist/commonjs/common/partitionKeys.js +1 -0
  230. package/dist/commonjs/common/partitionKeys.js.map +1 -1
  231. package/dist/commonjs/common/platform.js +1 -0
  232. package/dist/commonjs/common/platform.js.map +1 -1
  233. package/dist/commonjs/common/statusCodes.js +1 -0
  234. package/dist/commonjs/common/statusCodes.js.map +1 -1
  235. package/dist/commonjs/common/uriFactory.js +1 -0
  236. package/dist/commonjs/common/uriFactory.js.map +1 -1
  237. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js +1 -0
  238. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js.map +1 -1
  239. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +1 -0
  240. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  241. package/dist/commonjs/diagnostics/DiagnosticFormatter.js +1 -0
  242. package/dist/commonjs/diagnostics/DiagnosticFormatter.js.map +1 -1
  243. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +1 -0
  244. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  245. package/dist/commonjs/diagnostics/DiagnosticWriter.js +1 -0
  246. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +1 -1
  247. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js +1 -0
  248. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js.map +1 -1
  249. package/dist/commonjs/diagnostics/index.js +1 -0
  250. package/dist/commonjs/diagnostics/index.js.map +1 -1
  251. package/dist/commonjs/documents/ComputedProperty.js +1 -0
  252. package/dist/commonjs/documents/ComputedProperty.js.map +1 -1
  253. package/dist/commonjs/documents/ConnectionMode.js +1 -0
  254. package/dist/commonjs/documents/ConnectionMode.js.map +1 -1
  255. package/dist/commonjs/documents/ConnectionPolicy.js +1 -0
  256. package/dist/commonjs/documents/ConnectionPolicy.js.map +1 -1
  257. package/dist/commonjs/documents/ConsistencyLevel.js +1 -0
  258. package/dist/commonjs/documents/ConsistencyLevel.js.map +1 -1
  259. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +1 -0
  260. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -1
  261. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +1 -0
  262. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -1
  263. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +1 -0
  264. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -1
  265. package/dist/commonjs/documents/DataType.js +1 -0
  266. package/dist/commonjs/documents/DataType.js.map +1 -1
  267. package/dist/commonjs/documents/DatabaseAccount.js +1 -0
  268. package/dist/commonjs/documents/DatabaseAccount.js.map +1 -1
  269. package/dist/commonjs/documents/Document.js +1 -0
  270. package/dist/commonjs/documents/Document.js.map +1 -1
  271. package/dist/commonjs/documents/FullTextPolicy.js +1 -0
  272. package/dist/commonjs/documents/FullTextPolicy.js.map +1 -1
  273. package/dist/commonjs/documents/GeospatialType.js +1 -0
  274. package/dist/commonjs/documents/GeospatialType.js.map +1 -1
  275. package/dist/commonjs/documents/IndexKind.js +1 -0
  276. package/dist/commonjs/documents/IndexKind.js.map +1 -1
  277. package/dist/commonjs/documents/IndexingMode.js +1 -0
  278. package/dist/commonjs/documents/IndexingMode.js.map +1 -1
  279. package/dist/commonjs/documents/IndexingPolicy.js +1 -0
  280. package/dist/commonjs/documents/IndexingPolicy.js.map +1 -1
  281. package/dist/commonjs/documents/PartitionKey.js +1 -0
  282. package/dist/commonjs/documents/PartitionKey.js.map +1 -1
  283. package/dist/commonjs/documents/PartitionKeyDefinition.js +1 -0
  284. package/dist/commonjs/documents/PartitionKeyDefinition.js.map +1 -1
  285. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js +1 -0
  286. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js.map +1 -1
  287. package/dist/commonjs/documents/PartitionKeyInternal.js +1 -0
  288. package/dist/commonjs/documents/PartitionKeyInternal.js.map +1 -1
  289. package/dist/commonjs/documents/PartitionKeyKind.js +1 -0
  290. package/dist/commonjs/documents/PartitionKeyKind.js.map +1 -1
  291. package/dist/commonjs/documents/PermissionMode.js +1 -0
  292. package/dist/commonjs/documents/PermissionMode.js.map +1 -1
  293. package/dist/commonjs/documents/PriorityLevel.js +1 -0
  294. package/dist/commonjs/documents/PriorityLevel.js.map +1 -1
  295. package/dist/commonjs/documents/TriggerOperation.js +1 -0
  296. package/dist/commonjs/documents/TriggerOperation.js.map +1 -1
  297. package/dist/commonjs/documents/TriggerType.js +1 -0
  298. package/dist/commonjs/documents/TriggerType.js.map +1 -1
  299. package/dist/commonjs/documents/UserDefinedFunctionType.js +1 -0
  300. package/dist/commonjs/documents/UserDefinedFunctionType.js.map +1 -1
  301. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +1 -0
  302. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +1 -1
  303. package/dist/commonjs/documents/index.js +1 -0
  304. package/dist/commonjs/documents/index.js.map +1 -1
  305. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +1 -0
  306. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  307. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js +1 -0
  308. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js.map +1 -1
  309. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +1 -0
  310. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  311. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +1 -0
  312. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  313. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +1 -0
  314. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  315. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +2 -0
  316. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +2 -2
  317. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js +1 -0
  318. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  319. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js +1 -0
  320. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js.map +1 -1
  321. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js +1 -0
  322. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js.map +1 -1
  323. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +1 -0
  324. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  325. package/dist/commonjs/encryption/ClientEncryptionKey/index.js +1 -0
  326. package/dist/commonjs/encryption/ClientEncryptionKey/index.js.map +1 -1
  327. package/dist/commonjs/encryption/ClientEncryptionOptions.js +1 -0
  328. package/dist/commonjs/encryption/ClientEncryptionOptions.js.map +1 -1
  329. package/dist/commonjs/encryption/ClientEncryptionPolicy.js +1 -0
  330. package/dist/commonjs/encryption/ClientEncryptionPolicy.js.map +1 -1
  331. package/dist/commonjs/encryption/CosmosEncryptedNumber.js +1 -0
  332. package/dist/commonjs/encryption/CosmosEncryptedNumber.js.map +1 -1
  333. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +1 -0
  334. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +1 -1
  335. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +1 -0
  336. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  337. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +1 -0
  338. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  339. package/dist/commonjs/encryption/EncryptionKey/index.js +1 -0
  340. package/dist/commonjs/encryption/EncryptionKey/index.js.map +1 -1
  341. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +1 -0
  342. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  343. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js +1 -0
  344. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js.map +1 -1
  345. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js +1 -0
  346. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js.map +1 -1
  347. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +3 -0
  348. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +2 -2
  349. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js +1 -0
  350. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js.map +1 -1
  351. package/dist/commonjs/encryption/EncryptionManager.js +1 -0
  352. package/dist/commonjs/encryption/EncryptionManager.js.map +1 -1
  353. package/dist/commonjs/encryption/EncryptionProcessor.js +6 -0
  354. package/dist/commonjs/encryption/EncryptionProcessor.js.map +2 -2
  355. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +1 -0
  356. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +1 -1
  357. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +1 -0
  358. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +1 -1
  359. package/dist/commonjs/encryption/EncryptionSettings.js +1 -0
  360. package/dist/commonjs/encryption/EncryptionSettings.js.map +1 -1
  361. package/dist/commonjs/encryption/KeyEncryptionKey.js +1 -0
  362. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +1 -1
  363. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js +1 -0
  364. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js.map +1 -1
  365. package/dist/commonjs/encryption/Serializers/FloatSerializer.js +1 -0
  366. package/dist/commonjs/encryption/Serializers/FloatSerializer.js.map +1 -1
  367. package/dist/commonjs/encryption/Serializers/NumberSerializer.js +1 -0
  368. package/dist/commonjs/encryption/Serializers/NumberSerializer.js.map +1 -1
  369. package/dist/commonjs/encryption/Serializers/Serializer.js +1 -0
  370. package/dist/commonjs/encryption/Serializers/Serializer.js.map +1 -1
  371. package/dist/commonjs/encryption/Serializers/StringSerializer.js +1 -0
  372. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +1 -1
  373. package/dist/commonjs/encryption/Serializers/index.js +1 -0
  374. package/dist/commonjs/encryption/Serializers/index.js.map +1 -1
  375. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js +1 -0
  376. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js.map +1 -1
  377. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js +1 -0
  378. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js.map +1 -1
  379. package/dist/commonjs/encryption/enums/EncryptionType.js +1 -0
  380. package/dist/commonjs/encryption/enums/EncryptionType.js.map +1 -1
  381. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js +1 -0
  382. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js.map +1 -1
  383. package/dist/commonjs/encryption/enums/TypeMarker.js +1 -0
  384. package/dist/commonjs/encryption/enums/TypeMarker.js.map +1 -1
  385. package/dist/commonjs/encryption/enums/index.js +1 -0
  386. package/dist/commonjs/encryption/enums/index.js.map +1 -1
  387. package/dist/commonjs/encryption/index.js +1 -0
  388. package/dist/commonjs/encryption/index.js.map +1 -1
  389. package/dist/commonjs/extractPartitionKey.js +1 -0
  390. package/dist/commonjs/extractPartitionKey.js.map +1 -1
  391. package/dist/commonjs/globalEndpointManager.js +2 -0
  392. package/dist/commonjs/globalEndpointManager.js.map +2 -2
  393. package/dist/commonjs/globalPartitionEndpointManager.js +2 -0
  394. package/dist/commonjs/globalPartitionEndpointManager.js.map +2 -2
  395. package/dist/commonjs/index.js +1 -0
  396. package/dist/commonjs/index.js.map +1 -1
  397. package/dist/commonjs/plugins/Plugin.js +1 -0
  398. package/dist/commonjs/plugins/Plugin.js.map +1 -1
  399. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js +1 -0
  400. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js.map +1 -1
  401. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +1 -0
  402. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  403. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  404. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  405. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  406. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  407. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  408. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  409. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  410. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  411. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +1 -0
  412. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  413. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +1 -0
  414. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  415. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  416. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  417. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  418. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  419. package/dist/commonjs/queryExecutionContext/Aggregators/index.js +1 -0
  420. package/dist/commonjs/queryExecutionContext/Aggregators/index.js.map +1 -1
  421. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +1 -0
  422. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  423. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +1 -0
  424. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -1
  425. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +1 -0
  426. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  427. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +1 -0
  428. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  429. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +1 -0
  430. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -1
  431. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js +1 -0
  432. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js.map +1 -1
  433. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +3 -0
  434. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +2 -2
  435. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +3 -0
  436. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +2 -2
  437. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +5 -0
  438. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +2 -2
  439. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +6 -0
  440. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +2 -2
  441. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +4 -0
  442. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +2 -2
  443. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +3 -0
  444. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +2 -2
  445. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  446. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +2 -2
  447. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  448. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +2 -2
  449. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js +1 -0
  450. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js.map +1 -1
  451. package/dist/commonjs/queryExecutionContext/ExecutionContext.js +1 -0
  452. package/dist/commonjs/queryExecutionContext/ExecutionContext.js.map +1 -1
  453. package/dist/commonjs/queryExecutionContext/FetchResult.js +1 -0
  454. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +1 -1
  455. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +3 -0
  456. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +2 -2
  457. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +1 -0
  458. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  459. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +1 -0
  460. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -1
  461. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +3 -0
  462. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +2 -2
  463. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +1 -0
  464. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -1
  465. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js +1 -0
  466. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js.map +1 -1
  467. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +1 -0
  468. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  469. package/dist/commonjs/queryExecutionContext/documentProducer.js +2 -0
  470. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +2 -2
  471. package/dist/commonjs/queryExecutionContext/headerUtils.js +1 -0
  472. package/dist/commonjs/queryExecutionContext/headerUtils.js.map +1 -1
  473. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +8 -0
  474. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +2 -2
  475. package/dist/commonjs/queryExecutionContext/index.js +1 -0
  476. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  477. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js +1 -0
  478. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js.map +1 -1
  479. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js +1 -0
  480. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  481. package/dist/commonjs/queryExecutionContext/orderByComparator.js +2 -0
  482. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +2 -2
  483. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +2 -0
  484. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +2 -2
  485. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  486. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  487. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +1 -0
  488. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  489. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +10 -0
  490. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +2 -2
  491. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +1 -0
  492. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -1
  493. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +8 -0
  494. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +2 -2
  495. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +1 -0
  496. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -1
  497. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  498. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  499. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -4
  500. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +3 -3
  501. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +1 -0
  502. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  503. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +2 -0
  504. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +2 -2
  505. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +1 -0
  506. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -1
  507. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +1 -0
  508. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -1
  509. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +2 -0
  510. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +2 -2
  511. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +1 -0
  512. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -1
  513. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +1 -0
  514. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -1
  515. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +1 -0
  516. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -1
  517. package/dist/commonjs/queryIterator.js +7 -0
  518. package/dist/commonjs/queryIterator.js.map +2 -2
  519. package/dist/commonjs/queryMetrics/clientSideMetrics.js +2 -0
  520. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +2 -2
  521. package/dist/commonjs/queryMetrics/index.js +1 -0
  522. package/dist/commonjs/queryMetrics/index.js.map +1 -1
  523. package/dist/commonjs/queryMetrics/queryMetrics.js +14 -0
  524. package/dist/commonjs/queryMetrics/queryMetrics.js.map +2 -2
  525. package/dist/commonjs/queryMetrics/queryMetricsConstants.js +1 -0
  526. package/dist/commonjs/queryMetrics/queryMetricsConstants.js.map +1 -1
  527. package/dist/commonjs/queryMetrics/queryMetricsUtils.js +1 -0
  528. package/dist/commonjs/queryMetrics/queryMetricsUtils.js.map +1 -1
  529. package/dist/commonjs/queryMetrics/queryPreparationTime.js +5 -0
  530. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +2 -2
  531. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +4 -0
  532. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +2 -2
  533. package/dist/commonjs/queryMetrics/timeSpan.js +1 -0
  534. package/dist/commonjs/queryMetrics/timeSpan.js.map +1 -1
  535. package/dist/commonjs/request/ErrorResponse.js +1 -0
  536. package/dist/commonjs/request/ErrorResponse.js.map +1 -1
  537. package/dist/commonjs/request/FeedOptions.js +1 -0
  538. package/dist/commonjs/request/FeedOptions.js.map +1 -1
  539. package/dist/commonjs/request/FeedResponse.js +5 -0
  540. package/dist/commonjs/request/FeedResponse.js.map +2 -2
  541. package/dist/commonjs/request/RequestContext.js +1 -0
  542. package/dist/commonjs/request/RequestContext.js.map +1 -1
  543. package/dist/commonjs/request/RequestHandler.js +1 -0
  544. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  545. package/dist/commonjs/request/RequestOptions.js +1 -0
  546. package/dist/commonjs/request/RequestOptions.js.map +1 -1
  547. package/dist/commonjs/request/ResourceResponse.js +6 -0
  548. package/dist/commonjs/request/ResourceResponse.js.map +2 -2
  549. package/dist/commonjs/request/Response.js +1 -0
  550. package/dist/commonjs/request/Response.js.map +1 -1
  551. package/dist/commonjs/request/SharedOptions.js +1 -0
  552. package/dist/commonjs/request/SharedOptions.js.map +1 -1
  553. package/dist/commonjs/request/StatusCodes.js +1 -0
  554. package/dist/commonjs/request/StatusCodes.js.map +1 -1
  555. package/dist/commonjs/request/TimeoutError.js +1 -0
  556. package/dist/commonjs/request/TimeoutError.js.map +1 -1
  557. package/dist/commonjs/request/defaultAgent.js +1 -0
  558. package/dist/commonjs/request/defaultAgent.js.map +1 -1
  559. package/dist/commonjs/request/globalStatistics.js +1 -0
  560. package/dist/commonjs/request/globalStatistics.js.map +1 -1
  561. package/dist/commonjs/request/hybridSearchQueryResult.js +1 -0
  562. package/dist/commonjs/request/hybridSearchQueryResult.js.map +1 -1
  563. package/dist/commonjs/request/index.js +1 -0
  564. package/dist/commonjs/request/index.js.map +1 -1
  565. package/dist/commonjs/request/request.js +1 -0
  566. package/dist/commonjs/request/request.js.map +1 -1
  567. package/dist/commonjs/retry/RetryContext.js +1 -0
  568. package/dist/commonjs/retry/RetryContext.js.map +1 -1
  569. package/dist/commonjs/retry/RetryPolicy.js +1 -0
  570. package/dist/commonjs/retry/RetryPolicy.js.map +1 -1
  571. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +1 -0
  572. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +1 -1
  573. package/dist/commonjs/retry/defaultRetryPolicy.js +2 -0
  574. package/dist/commonjs/retry/defaultRetryPolicy.js.map +2 -2
  575. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +5 -0
  576. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +2 -2
  577. package/dist/commonjs/retry/index.js +1 -0
  578. package/dist/commonjs/retry/index.js.map +1 -1
  579. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +1 -0
  580. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +1 -1
  581. package/dist/commonjs/retry/retryOptions.js +1 -0
  582. package/dist/commonjs/retry/retryOptions.js.map +1 -1
  583. package/dist/commonjs/retry/retryUtility.js +1 -0
  584. package/dist/commonjs/retry/retryUtility.js.map +1 -1
  585. package/dist/commonjs/retry/sessionRetryPolicy.js +5 -0
  586. package/dist/commonjs/retry/sessionRetryPolicy.js.map +2 -2
  587. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +8 -0
  588. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +2 -2
  589. package/dist/commonjs/routing/CollectionRoutingMapFactory.js +1 -0
  590. package/dist/commonjs/routing/CollectionRoutingMapFactory.js.map +1 -1
  591. package/dist/commonjs/routing/QueryRange.js +1 -0
  592. package/dist/commonjs/routing/QueryRange.js.map +1 -1
  593. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +1 -0
  594. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  595. package/dist/commonjs/routing/index.js +1 -0
  596. package/dist/commonjs/routing/index.js.map +1 -1
  597. package/dist/commonjs/routing/partitionKeyRangeCache.js +2 -0
  598. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +2 -2
  599. package/dist/commonjs/routing/smartRoutingMapProvider.js +1 -0
  600. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +1 -1
  601. package/dist/commonjs/session/SessionContext.js +1 -0
  602. package/dist/commonjs/session/SessionContext.js.map +1 -1
  603. package/dist/commonjs/session/VectorSessionToken.js +5 -0
  604. package/dist/commonjs/session/VectorSessionToken.js.map +2 -2
  605. package/dist/commonjs/session/sessionContainer.js +3 -0
  606. package/dist/commonjs/session/sessionContainer.js.map +2 -2
  607. package/dist/commonjs/tsdoc-metadata.json +1 -1
  608. package/dist/commonjs/utils/SasToken.js +1 -0
  609. package/dist/commonjs/utils/SasToken.js.map +1 -1
  610. package/dist/commonjs/utils/atob.js +1 -0
  611. package/dist/commonjs/utils/atob.js.map +1 -1
  612. package/dist/commonjs/utils/batch.js +1 -0
  613. package/dist/commonjs/utils/batch.js.map +1 -1
  614. package/dist/commonjs/utils/cachedClient.js +1 -0
  615. package/dist/commonjs/utils/cachedClient.js.map +1 -1
  616. package/dist/commonjs/utils/checkURL.js +1 -0
  617. package/dist/commonjs/utils/checkURL.js.map +1 -1
  618. package/dist/commonjs/utils/diagnostics.js +1 -0
  619. package/dist/commonjs/utils/diagnostics.js.map +1 -1
  620. package/dist/commonjs/utils/digest.js +1 -0
  621. package/dist/commonjs/utils/digest.js.map +1 -1
  622. package/dist/commonjs/utils/encode.js +1 -0
  623. package/dist/commonjs/utils/encode.js.map +1 -1
  624. package/dist/commonjs/utils/envUtils.js +1 -0
  625. package/dist/commonjs/utils/envUtils.js.map +1 -1
  626. package/dist/commonjs/utils/fixedSizePriorityQueue.js +1 -0
  627. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +1 -1
  628. package/dist/commonjs/utils/globalCrypto.js +1 -0
  629. package/dist/commonjs/utils/globalCrypto.js.map +1 -1
  630. package/dist/commonjs/utils/hashObject.js +1 -0
  631. package/dist/commonjs/utils/hashObject.js.map +1 -1
  632. package/dist/commonjs/utils/hashing/encoding/number.js +1 -0
  633. package/dist/commonjs/utils/hashing/encoding/number.js.map +1 -1
  634. package/dist/commonjs/utils/hashing/encoding/prefix.js +1 -0
  635. package/dist/commonjs/utils/hashing/encoding/prefix.js.map +1 -1
  636. package/dist/commonjs/utils/hashing/encoding/string.js +1 -0
  637. package/dist/commonjs/utils/hashing/encoding/string.js.map +1 -1
  638. package/dist/commonjs/utils/hashing/hash.js +1 -0
  639. package/dist/commonjs/utils/hashing/hash.js.map +1 -1
  640. package/dist/commonjs/utils/hashing/multiHash.js +1 -0
  641. package/dist/commonjs/utils/hashing/multiHash.js.map +1 -1
  642. package/dist/commonjs/utils/hashing/murmurHash.js +1 -0
  643. package/dist/commonjs/utils/hashing/murmurHash.js.map +1 -1
  644. package/dist/commonjs/utils/hashing/v1.js +1 -0
  645. package/dist/commonjs/utils/hashing/v1.js.map +1 -1
  646. package/dist/commonjs/utils/hashing/v2.js +1 -0
  647. package/dist/commonjs/utils/hashing/v2.js.map +1 -1
  648. package/dist/commonjs/utils/headers.js +1 -0
  649. package/dist/commonjs/utils/headers.js.map +1 -1
  650. package/dist/commonjs/utils/hmac.js +1 -0
  651. package/dist/commonjs/utils/hmac.js.map +1 -1
  652. package/dist/commonjs/utils/nonStreamingOrderByMap.js +1 -0
  653. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +1 -1
  654. package/dist/commonjs/utils/offers.js +1 -0
  655. package/dist/commonjs/utils/offers.js.map +1 -1
  656. package/dist/commonjs/utils/patch.js +1 -0
  657. package/dist/commonjs/utils/patch.js.map +1 -1
  658. package/dist/commonjs/utils/strings.js +1 -0
  659. package/dist/commonjs/utils/strings.js.map +1 -1
  660. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js +1 -0
  661. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js.map +1 -1
  662. package/dist/commonjs/utils/time.js +1 -0
  663. package/dist/commonjs/utils/time.js.map +1 -1
  664. package/dist/commonjs/utils/tracing.js +1 -0
  665. package/dist/commonjs/utils/tracing.js.map +1 -1
  666. package/dist/commonjs/utils/typeChecks.js +1 -0
  667. package/dist/commonjs/utils/typeChecks.js.map +1 -1
  668. package/dist/commonjs/utils/types.js +1 -0
  669. package/dist/commonjs/utils/types.js.map +1 -1
  670. package/dist/commonjs/utils/uint8.js +1 -0
  671. package/dist/commonjs/utils/uint8.js.map +1 -1
  672. package/dist/esm/common/constants.js +1 -1
  673. package/dist/esm/common/constants.js.map +1 -1
  674. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  675. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  676. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  677. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  678. package/dist/react-native/common/constants.js +1 -1
  679. package/dist/react-native/common/constants.js.map +1 -1
  680. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  681. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  682. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  683. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  684. package/package.json +8 -8
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/hybridQueryExecutionContext.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/hybridQueryExecutionContext.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type {\n FeedOptions,\n GlobalStatistics,\n PartitionedQueryExecutionInfo,\n QueryInfo,\n QueryRange,\n Response,\n} from \"../request/index.js\";\nimport { HybridSearchQueryResult } from \"../request/hybridSearchQueryResult.js\";\nimport { GlobalStatisticsAggregator } from \"./Aggregators/GlobalStatisticsAggregator.js\";\nimport type { CosmosHeaders } from \"./CosmosHeaders.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport { getInitialHeader, mergeHeaders } from \"./headerUtils.js\";\nimport { ParallelQueryExecutionContext } from \"./parallelQueryExecutionContext.js\";\nimport { PipelinedQueryExecutionContext } from \"./pipelinedQueryExecutionContext.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\nimport { type ParallelQueryResult } from \"./parallelQueryResult.js\";\nimport {\n rejectContinuationTokenForUnsupportedQueries,\n QueryTypes,\n} from \"./QueryValidationHelper.js\";\n\n/** @hidden */\nexport enum HybridQueryExecutionContextBaseStates {\n uninitialized = \"uninitialized\",\n initialized = \"initialized\",\n draining = \"draining\",\n done = \"done\",\n}\nexport class HybridQueryExecutionContext implements ExecutionContext {\n private globalStatisticsExecutionContext: ExecutionContext;\n private componentsExecutionContext: ExecutionContext[] = [];\n private pageSize: number;\n private state: HybridQueryExecutionContextBaseStates;\n private globalStatisticsAggregator: GlobalStatisticsAggregator;\n private emitRawOrderByPayload: boolean = true;\n private buffer: HybridSearchQueryResult[] = [];\n private DEFAULT_PAGE_SIZE = 10;\n private TOTAL_WORD_COUNT_PLACEHOLDER = \"documentdb-formattablehybridsearchquery-totalwordcount\";\n private HIT_COUNTS_ARRAY_PLACEHOLDER = \"documentdb-formattablehybridsearchquery-hitcountsarray\";\n private TOTAL_DOCUMENT_COUNT_PLACEHOLDER =\n \"documentdb-formattablehybridsearchquery-totaldocumentcount\";\n private RRF_CONSTANT = 60; // Constant for RRF score calculation\n private logger: AzureLogger = createClientLogger(\"HybridQueryExecutionContext\");\n private hybridSearchResult: HybridSearchQueryResult[] = [];\n private uniqueItems = new Map<string, HybridSearchQueryResult>();\n private isSingleComponent: boolean = false;\n\n constructor(\n private clientContext: ClientContext,\n private collectionLink: string,\n private query: string | SqlQuerySpec,\n private options: FeedOptions,\n private partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n private correlatedActivityId: string,\n private allPartitionsRanges: QueryRange[],\n ) {\n rejectContinuationTokenForUnsupportedQueries(this.options.continuationToken, [\n QueryTypes.hybridSearch(true),\n ]);\n\n this.state = HybridQueryExecutionContextBaseStates.uninitialized;\n this.pageSize = this.options.maxItemCount;\n if (this.pageSize === undefined) {\n this.pageSize = this.DEFAULT_PAGE_SIZE;\n }\n if (partitionedQueryExecutionInfo.hybridSearchQueryInfo.requiresGlobalStatistics) {\n const globalStaticsQueryOptions: FeedOptions = { maxItemCount: this.pageSize };\n this.globalStatisticsAggregator = new GlobalStatisticsAggregator();\n\n const globalStatisticsQuery: string | SqlQuerySpec =\n typeof this.query === \"string\"\n ? this.partitionedQueryExecutionInfo.hybridSearchQueryInfo.globalStatisticsQuery\n : {\n query: this.partitionedQueryExecutionInfo.hybridSearchQueryInfo.globalStatisticsQuery,\n parameters: this.query?.parameters ?? [],\n };\n const globalStatisticsQueryExecutionInfo: PartitionedQueryExecutionInfo = {\n partitionedQueryExecutionInfoVersion: 1,\n queryInfo: {\n distinctType: \"None\",\n hasSelectValue: false,\n groupByAliasToAggregateType: {},\n rewrittenQuery: globalStatisticsQuery,\n hasNonStreamingOrderBy: false,\n },\n queryRanges: this.allPartitionsRanges,\n };\n\n this.globalStatisticsExecutionContext = new ParallelQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n globalStatisticsQuery,\n globalStaticsQueryOptions,\n globalStatisticsQueryExecutionInfo,\n this.correlatedActivityId,\n );\n } else {\n this.createComponentExecutionContexts();\n this.state = HybridQueryExecutionContextBaseStates.initialized;\n }\n }\n public async nextItem(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n const nextItemRespHeaders = getInitialHeader();\n while (\n (this.state === HybridQueryExecutionContextBaseStates.uninitialized ||\n this.state === HybridQueryExecutionContextBaseStates.initialized) &&\n this.buffer.length === 0\n ) {\n await this.fetchMoreInternal(diagnosticNode, nextItemRespHeaders);\n }\n\n if (this.state === HybridQueryExecutionContextBaseStates.draining && this.buffer.length > 0) {\n return this.drainOne(nextItemRespHeaders);\n } else {\n return this.done(nextItemRespHeaders);\n }\n }\n\n public hasMoreResults(): boolean {\n switch (this.state) {\n case HybridQueryExecutionContextBaseStates.uninitialized:\n return true;\n case HybridQueryExecutionContextBaseStates.initialized:\n return true;\n case HybridQueryExecutionContextBaseStates.draining:\n return this.buffer.length > 0;\n case HybridQueryExecutionContextBaseStates.done:\n return false;\n default:\n return false;\n }\n }\n\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n const fetchMoreRespHeaders = getInitialHeader();\n return this.fetchMoreInternal(diagnosticNode, fetchMoreRespHeaders);\n }\n\n private async fetchMoreInternal(\n diagnosticNode: DiagnosticNodeInternal,\n headers: CosmosHeaders,\n ): Promise<Response<any>> {\n switch (this.state) {\n case HybridQueryExecutionContextBaseStates.uninitialized:\n await this.initialize(diagnosticNode, headers);\n return {\n result: [],\n headers: headers,\n };\n\n case HybridQueryExecutionContextBaseStates.initialized:\n await this.executeComponentQueries(diagnosticNode, headers);\n return {\n result: [],\n headers: headers,\n };\n case HybridQueryExecutionContextBaseStates.draining:\n return this.drain(headers);\n case HybridQueryExecutionContextBaseStates.done:\n return this.done(headers);\n default:\n throw new Error(`Invalid state: ${this.state}`);\n }\n }\n\n private async initialize(\n diagnosticNode: DiagnosticNodeInternal,\n fetchMoreRespHeaders: CosmosHeaders,\n ): Promise<void> {\n try {\n while (this.globalStatisticsExecutionContext.hasMoreResults()) {\n const result = await this.globalStatisticsExecutionContext.fetchMore(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, result.headers);\n if (result && result.result) {\n const resultData = (result.result as ParallelQueryResult).buffer;\n for (const item of resultData) {\n const globalStatistics: GlobalStatistics = item;\n if (globalStatistics) {\n // iterate over the components update placeholders from globalStatistics\n this.globalStatisticsAggregator.aggregate(globalStatistics);\n }\n }\n }\n }\n } catch (error) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n throw error;\n }\n\n // create component execution contexts for each component query\n this.createComponentExecutionContexts();\n this.state = HybridQueryExecutionContextBaseStates.initialized;\n }\n\n private async executeComponentQueries(\n diagnosticNode: DiagnosticNodeInternal,\n fetchMoreRespHeaders: CosmosHeaders,\n ): Promise<void> {\n if (this.isSingleComponent) {\n await this.drainSingleComponent(diagnosticNode, fetchMoreRespHeaders);\n return;\n }\n try {\n if (this.options.enableQueryControl) {\n // track componentExecutionContexts with remaining results and call them in LIFO order\n if (this.componentsExecutionContext.length > 0) {\n const componentExecutionContext = this.componentsExecutionContext.pop();\n if (componentExecutionContext.hasMoreResults()) {\n const result = await componentExecutionContext.fetchMore(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, result.headers);\n\n const resultData = result.result;\n if (result && resultData) {\n resultData.forEach((item: any) => {\n const hybridItem = HybridSearchQueryResult.create(item);\n if (!this.uniqueItems.has(hybridItem.rid)) {\n this.uniqueItems.set(hybridItem.rid, hybridItem);\n }\n });\n }\n if (componentExecutionContext.hasMoreResults()) {\n this.componentsExecutionContext.push(componentExecutionContext);\n }\n }\n }\n if (this.componentsExecutionContext.length === 0) {\n this.processUniqueItems();\n }\n } else {\n for (const componentExecutionContext of this.componentsExecutionContext) {\n while (componentExecutionContext.hasMoreResults()) {\n const result = await componentExecutionContext.fetchMore(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, result.headers);\n\n const resultData = result.result;\n if (result && resultData) {\n resultData.forEach((item: any) => {\n const hybridItem = HybridSearchQueryResult.create(item);\n if (!this.uniqueItems.has(hybridItem.rid)) {\n this.uniqueItems.set(hybridItem.rid, hybridItem);\n }\n });\n }\n }\n }\n this.processUniqueItems();\n }\n } catch (error) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n throw error;\n }\n }\n\n private processUniqueItems(): void {\n this.uniqueItems.forEach((item) => this.hybridSearchResult.push(item));\n if (this.hybridSearchResult.length === 0 || this.hybridSearchResult.length === 1) {\n // return the result as no or one element is present\n this.hybridSearchResult.forEach((item) => this.buffer.push(item.data));\n this.state = HybridQueryExecutionContextBaseStates.draining;\n return;\n }\n\n // Initialize an array to hold ranks for each document\n const componentWeights = this.extractComponentWeights();\n const sortedHybridSearchResult = this.sortHybridSearchResultByRRFScore(\n this.hybridSearchResult,\n componentWeights,\n );\n // store the result to buffer\n // add only data from the sortedHybridSearchResult in the buffer\n sortedHybridSearchResult.forEach((item) => this.buffer.push(item.data));\n this.applySkipAndTakeToBuffer();\n this.state = HybridQueryExecutionContextBaseStates.draining;\n }\n\n private applySkipAndTakeToBuffer(): void {\n const { skip, take } = this.partitionedQueryExecutionInfo.hybridSearchQueryInfo;\n if (skip) {\n this.buffer = skip >= this.buffer.length ? [] : this.buffer.slice(skip);\n }\n if (take) {\n this.buffer = take <= 0 ? [] : this.buffer.slice(0, take);\n }\n }\n\n private async drain(fetchMoreRespHeaders: CosmosHeaders): Promise<Response<any>> {\n try {\n if (this.buffer.length === 0) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n return this.done(fetchMoreRespHeaders);\n }\n const result = this.buffer.slice(0, this.pageSize);\n this.buffer = this.buffer.slice(this.pageSize);\n if (this.buffer.length === 0) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n }\n return {\n result: result,\n headers: fetchMoreRespHeaders,\n };\n } catch (error) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n throw error;\n }\n }\n\n private async drainOne(nextItemRespHeaders: CosmosHeaders): Promise<Response<any>> {\n try {\n if (this.buffer.length === 0) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n return this.done(nextItemRespHeaders);\n }\n const result = this.buffer.shift();\n if (this.buffer.length === 0) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n }\n return {\n result: result,\n headers: nextItemRespHeaders,\n };\n } catch (error) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n throw error;\n }\n }\n\n private done(fetchMoreRespHeaders: CosmosHeaders): Response<any> {\n return {\n result: undefined,\n headers: fetchMoreRespHeaders,\n };\n }\n\n private sortHybridSearchResultByRRFScore(\n hybridSearchResult: HybridSearchQueryResult[],\n componentWeights: ComponentWeight[],\n ): HybridSearchQueryResult[] {\n if (hybridSearchResult.length === 0) {\n return [];\n }\n const ranksArray: { rid: string; ranks: number[] }[] = hybridSearchResult.map((item) => ({\n rid: item.rid,\n ranks: new Array(item.componentScores.length).fill(0),\n }));\n // Compute ranks for each component score\n for (let i = 0; i < hybridSearchResult[0].componentScores.length; i++) {\n // Sort based on the i-th component score\n hybridSearchResult.sort((a, b) =>\n componentWeights[i].comparator(a.componentScores[i], b.componentScores[i]),\n );\n\n // Assign ranks\n let rank = 1;\n for (let j = 0; j < hybridSearchResult.length; j++) {\n if (\n j > 0 &&\n hybridSearchResult[j].componentScores[i] !== hybridSearchResult[j - 1].componentScores[i]\n ) {\n ++rank;\n }\n const rankIndex = ranksArray.findIndex(\n (rankItem) => rankItem.rid === hybridSearchResult[j].rid,\n );\n ranksArray[rankIndex].ranks[i] = rank; // 1-based rank\n }\n }\n\n // Compute RRF scores and sort based on them\n const rrfScores = ranksArray.map((item) => ({\n rid: item.rid,\n rrfScore: this.computeRRFScore(item.ranks, this.RRF_CONSTANT, componentWeights),\n }));\n\n // Sort based on RRF scores\n rrfScores.sort((a, b) => b.rrfScore - a.rrfScore);\n // Map sorted RRF scores back to hybridSearchResult\n const sortedHybridSearchResult = rrfScores.map((scoreItem) =>\n hybridSearchResult.find((item) => item.rid === scoreItem.rid),\n );\n return sortedHybridSearchResult;\n }\n\n private async drainSingleComponent(\n diagNode: DiagnosticNodeInternal,\n fetchMoreRespHeaders: CosmosHeaders,\n ): Promise<void> {\n if (this.componentsExecutionContext && this.componentsExecutionContext.length !== 1) {\n this.logger.error(\"drainSingleComponent called on multiple components\");\n return;\n }\n try {\n if (this.options.enableQueryControl) {\n const componentExecutionContext = this.componentsExecutionContext[0];\n if (componentExecutionContext.hasMoreResults()) {\n const result = await componentExecutionContext.fetchMore(diagNode);\n mergeHeaders(fetchMoreRespHeaders, result.headers);\n\n const resultData = result.result;\n\n if (result && resultData) {\n resultData.forEach((item: any) => {\n this.hybridSearchResult.push(HybridSearchQueryResult.create(item));\n });\n }\n }\n if (!componentExecutionContext.hasMoreResults()) {\n this.state = HybridQueryExecutionContextBaseStates.draining;\n this.hybridSearchResult.forEach((item) => this.buffer.push(item.data));\n this.applySkipAndTakeToBuffer();\n this.state = HybridQueryExecutionContextBaseStates.draining;\n }\n return;\n } else {\n const componentExecutionContext = this.componentsExecutionContext[0];\n const hybridSearchResult: HybridSearchQueryResult[] = [];\n // add check for enable query control\n while (componentExecutionContext.hasMoreResults()) {\n const result = await componentExecutionContext.fetchMore(diagNode);\n mergeHeaders(fetchMoreRespHeaders, result.headers);\n\n const resultData = result.result;\n if (result && resultData) {\n resultData.forEach((item: any) => {\n hybridSearchResult.push(HybridSearchQueryResult.create(item));\n });\n }\n }\n hybridSearchResult.forEach((item) => this.buffer.push(item.data));\n this.applySkipAndTakeToBuffer();\n this.state = HybridQueryExecutionContextBaseStates.draining;\n }\n } catch (error) {\n this.state = HybridQueryExecutionContextBaseStates.done;\n throw error;\n }\n }\n\n private createComponentExecutionContexts(): void {\n // rewrite queries based on global statistics\n let queryInfos: QueryInfo[] =\n this.partitionedQueryExecutionInfo.hybridSearchQueryInfo.componentQueryInfos;\n if (this.partitionedQueryExecutionInfo.hybridSearchQueryInfo.requiresGlobalStatistics) {\n queryInfos = this.processComponentQueries(\n this.partitionedQueryExecutionInfo.hybridSearchQueryInfo.componentQueryInfos,\n this.globalStatisticsAggregator.getResult(),\n );\n }\n // create component execution contexts\n for (const componentQueryInfo of queryInfos) {\n const componentPartitionExecutionInfo: PartitionedQueryExecutionInfo = {\n partitionedQueryExecutionInfoVersion: 1,\n queryInfo: componentQueryInfo,\n queryRanges: this.partitionedQueryExecutionInfo.queryRanges,\n };\n const rewrittenSqlQuerySpec: string | SqlQuerySpec =\n typeof this.query === \"string\"\n ? componentQueryInfo.rewrittenQuery\n : {\n query: componentQueryInfo.rewrittenQuery,\n parameters: this.query?.parameters ?? [],\n };\n const executionContext = new PipelinedQueryExecutionContext(\n this.clientContext,\n this.collectionLink,\n rewrittenSqlQuerySpec,\n this.options,\n componentPartitionExecutionInfo,\n this.correlatedActivityId,\n this.emitRawOrderByPayload,\n /* supportsContinuationTokens */ false,\n );\n this.componentsExecutionContext.push(executionContext);\n }\n this.isSingleComponent = this.componentsExecutionContext.length === 1;\n }\n private processComponentQueries(\n componentQueryInfos: QueryInfo[],\n globalStats: GlobalStatistics,\n ): QueryInfo[] {\n return componentQueryInfos.map((queryInfo) => {\n let rewrittenOrderByExpressions = queryInfo.orderByExpressions;\n if (queryInfo.orderBy && queryInfo.orderBy.length > 0) {\n if (!queryInfo.hasNonStreamingOrderBy) {\n throw new Error(\"The component query must have a non-streaming order by clause.\");\n }\n rewrittenOrderByExpressions = queryInfo.orderByExpressions.map((expr) =>\n this.replacePlaceholdersWorkaroud(expr, globalStats, componentQueryInfos.length),\n );\n }\n return {\n ...queryInfo,\n rewrittenQuery: this.replacePlaceholdersWorkaroud(\n queryInfo.rewrittenQuery,\n globalStats,\n componentQueryInfos.length,\n ),\n orderByExpressions: rewrittenOrderByExpressions,\n };\n });\n }\n // This method is commented currently, but we will switch back to using this\n // once the gateway has been redeployed with the fix for placeholder indexes\n // private replacePlaceholders(query: string, globalStats: GlobalStatistics): string {\n // // Replace total document count\n // query = query.replace(\n // new RegExp(`{${this.TOTAL_DOCUMENT_COUNT_PLACEHOLDER}}`, \"g\"),\n // globalStats.documentCount.toString(),\n // );\n\n // // Replace total word counts and hit counts from fullTextStatistics\n // globalStats.fullTextStatistics.forEach((stats, index) => {\n // // Replace total word counts\n // query = query.replace(\n // new RegExp(`{${this.TOTAL_WORD_COUNT_PLACEHOLDER}-${index}}`, \"g\"),\n // stats.totalWordCount.toString(),\n // );\n // // Replace hit counts\n // query = query.replace(\n // new RegExp(`{${this.HIT_COUNTS_ARRAY_PLACEHOLDER}-${index}}`, \"g\"),\n // `[${stats.hitCounts.join(\",\")}]`,\n // );\n // });\n\n // return query;\n // }\n\n private replacePlaceholdersWorkaroud(\n query: string,\n globalStats: GlobalStatistics,\n componentCount: number,\n ): string {\n if (\n !globalStats ||\n !globalStats.documentCount ||\n !Array.isArray(globalStats.fullTextStatistics)\n ) {\n throw new Error(\"GlobalStats validation failed\");\n }\n // Replace total document count\n query = query.replace(\n new RegExp(`{${this.TOTAL_DOCUMENT_COUNT_PLACEHOLDER}}`, \"g\"),\n globalStats.documentCount.toString(),\n );\n let statisticsIndex: number = 0;\n for (let i = 0; i < componentCount; i++) {\n // Replace total word counts and hit counts from fullTextStatistics\n const wordCountPlaceholder = `{${this.TOTAL_WORD_COUNT_PLACEHOLDER}-${i}}`;\n const hitCountPlaceholder = `{${this.HIT_COUNTS_ARRAY_PLACEHOLDER}-${i}}`;\n if (!query.includes(wordCountPlaceholder)) {\n continue;\n }\n const stats = globalStats.fullTextStatistics[statisticsIndex];\n // Replace total word counts\n query = query.replace(new RegExp(wordCountPlaceholder, \"g\"), stats.totalWordCount.toString());\n // Replace hit counts\n query = query.replace(new RegExp(hitCountPlaceholder, \"g\"), `[${stats.hitCounts.join(\",\")}]`);\n statisticsIndex++;\n }\n return query;\n }\n\n private computeRRFScore = (\n ranks: number[],\n k: number,\n componentWeights: ComponentWeight[],\n ): number => {\n if (ranks.length !== componentWeights.length) {\n throw new Error(\"Ranks and component weights length mismatch\");\n }\n let rrfScore = 0;\n for (let i = 0; i < ranks.length; i++) {\n const rank = ranks[i];\n const weight = componentWeights[i].weight;\n rrfScore += weight * (1 / (k + rank));\n }\n return rrfScore;\n };\n\n private extractComponentWeights(): ComponentWeight[] {\n const hybridSearchQueryInfo = this.partitionedQueryExecutionInfo.hybridSearchQueryInfo;\n const useDefaultComponentWeight =\n !hybridSearchQueryInfo.componentWeights ||\n hybridSearchQueryInfo.componentWeights.length === 0;\n\n const result: {\n weight: number;\n comparator: (x: number, y: number) => number;\n }[] = [];\n\n for (let index = 0; index < hybridSearchQueryInfo.componentQueryInfos.length; ++index) {\n const queryInfo = hybridSearchQueryInfo.componentQueryInfos[index];\n\n if (queryInfo.orderBy && queryInfo.orderBy.length > 0) {\n if (!queryInfo.hasNonStreamingOrderBy) {\n throw new Error(\"The component query should have a non streaming order by\");\n }\n\n if (!queryInfo.orderByExpressions || queryInfo.orderByExpressions.length !== 1) {\n throw new Error(\"The component query should have exactly one order by expression\");\n }\n }\n const componentWeight = useDefaultComponentWeight\n ? 1\n : hybridSearchQueryInfo.componentWeights[index];\n const hasOrderBy = queryInfo.orderBy && queryInfo.orderBy.length > 0;\n const sortOrder = hasOrderBy && queryInfo.orderBy[0].includes(\"Ascending\") ? 1 : -1;\n result.push({\n weight: componentWeight,\n comparator: (x: number, y: number) => sortOrder * (x - y),\n });\n }\n return result;\n }\n}\n\nexport interface ComponentWeight {\n weight: number;\n comparator: (x: number, y: number) => number;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["HybridQueryExecutionContextBaseStates"]
7
7
  }
@@ -59,3 +59,4 @@ var import_OrderByQueryRangeStrategy = require("./queryFilteringStrategy/OrderBy
59
59
  ...require("./pipelinedQueryExecutionContext.js"),
60
60
  ...require("./orderByComparator.js")
61
61
  });
62
+ //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/index.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/index.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport * from \"./headerUtils.js\";\nexport type * from \"./SqlQuerySpec.js\";\nexport * from \"./defaultQueryExecutionContext.js\";\nexport * from \"./Aggregators/index.js\";\nexport * from \"./documentProducer.js\";\nexport * from \"./FetchResult.js\";\nexport * from \"./orderByDocumentProducerComparator.js\";\nexport type * from \"./ExecutionContext.js\";\nexport * from \"./parallelQueryExecutionContextBase.js\";\nexport * from \"./parallelQueryExecutionContext.js\";\nexport * from \"./orderByQueryExecutionContext.js\";\nexport * from \"./pipelinedQueryExecutionContext.js\";\nexport * from \"./orderByComparator.js\";\n\n// Query Filtering Strategy - Direct exports\nexport type { FilterContext, FilterStrategy } from \"./queryFilteringStrategy/FilterStrategy.js\";\nexport { RidSkipCountFilter } from \"./queryFilteringStrategy/RidSkipCountFilter.js\";\nexport {\n TargetPartitionRangeManager,\n QueryExecutionContextType,\n} from \"./queryFilteringStrategy/TargetPartitionRangeManager.js\";\nexport type { TargetPartitionRangeManagerConfig } from \"./queryFilteringStrategy/TargetPartitionRangeManager.js\";\nexport type {\n TargetPartitionRangeStrategy,\n PartitionRangeFilterResult,\n} from \"./queryFilteringStrategy/TargetPartitionRangeStrategy.js\";\nexport { ParallelQueryRangeStrategy } from \"./queryFilteringStrategy/ParallelQueryRangeStrategy.js\";\nexport { OrderByQueryRangeStrategy } from \"./queryFilteringStrategy/OrderByQueryRangeStrategy.js\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0CAAc,6BAFd;AAIA,0CAAc,8CAJd;AAKA,0CAAc,mCALd;AAMA,0CAAc,kCANd;AAOA,0CAAc,6BAPd;AAQA,0CAAc,mDARd;AAUA,0CAAc,mDAVd;AAWA,0CAAc,+CAXd;AAYA,0CAAc,8CAZd;AAaA,0CAAc,gDAbd;AAcA,0CAAc,mCAdd;AAkBA,gCAAmC;AACnC,yCAGO;AAMP,wCAA2C;AAC3C,uCAA0C;",
6
6
  "names": []
@@ -13,3 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var nonStreamingOrderByResponse_exports = {};
15
15
  module.exports = __toCommonJS(nonStreamingOrderByResponse_exports);
16
+ //# sourceMappingURL=nonStreamingOrderByResponse.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/nonStreamingOrderByResponse.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/nonStreamingOrderByResponse.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { CosmosHeaders } from \"./CosmosHeaders.js\";\nimport type { NonStreamingOrderByResult } from \"./nonStreamingOrderByResult.js\";\n\nexport interface NonStreamingOrderByResponse {\n result: NonStreamingOrderByResult;\n headers: CosmosHeaders;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -13,3 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var nonStreamingOrderByResult_exports = {};
15
15
  module.exports = __toCommonJS(nonStreamingOrderByResult_exports);
16
+ //# sourceMappingURL=nonStreamingOrderByResult.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/nonStreamingOrderByResult.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/nonStreamingOrderByResult.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport interface NonStreamingOrderByResult {\n orderByItems: any[];\n payload: any;\n}\n\nexport interface OrderByDocument {\n orderByItems: any[];\n payload: any;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -57,6 +57,7 @@ class OrderByComparator {
57
57
  constructor(sortOrder) {
58
58
  this.sortOrder = sortOrder;
59
59
  }
60
+ sortOrder;
60
61
  compareItems(a, b) {
61
62
  const orderByItemsRes1 = this.getOrderByItems(a);
62
63
  const orderByItemsRes2 = this.getOrderByItems(b);
@@ -115,3 +116,4 @@ class OrderByComparator {
115
116
  OrderByComparator,
116
117
  compareOrderByItems
117
118
  });
119
+ //# sourceMappingURL=orderByComparator.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByComparator.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/orderByComparator.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OrderByDocument } from \"./nonStreamingOrderByResult.js\";\n\n/**\n * @hidden\n * Utility function to compare two sets of OrderBy items according to sort orders\n * @param orderByItemsA - First set of order by items\n * @param orderByItemsB - Second set of order by items\n * @param sortOrders - Array of sort orders (\"Ascending\" or \"Descending\")\n * @returns Comparison result: negative if A \\< B, 0 if A == B, positive if A \\> B\n */\nexport function compareOrderByItems(\n orderByItemsA: any[],\n orderByItemsB: any[],\n sortOrders: string[],\n): number {\n const comparator = new OrderByComparator(sortOrders);\n\n // Create temporary OrderByDocument objects for comparison\n const docA: OrderByDocument = { orderByItems: orderByItemsA, payload: null };\n const docB: OrderByDocument = { orderByItems: orderByItemsB, payload: null };\n\n return comparator.compareItems(docA, docB);\n}\n\n/**\n * @hidden\n * ord is used to compare different types. Eg. in ascending order, for cross type comparison, boolean will come first, then number and, then string.\n * compFunc is used to compare the same type comparison.\n */\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 OrderByComparator {\n constructor(public sortOrder: string[]) {}\n\n public compareItems(a: OrderByDocument, b: OrderByDocument): number {\n const orderByItemsRes1 = this.getOrderByItems(a);\n const orderByItemsRes2 = this.getOrderByItems(b);\n\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] === \"Descending\") {\n return compRes;\n } else if (this.sortOrder[i] === \"Ascending\") {\n return -compRes;\n }\n }\n }\n // If all orderBy items are equal, return 0\n return 0;\n }\n\n private getOrderByItems(res: any): any {\n return res[\"orderByItems\"];\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 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 compareValue(item1: unknown, type1: string, item2: unknown, type2: string): number {\n // TODO: https://github.com/Azure/azure-sdk-for-js/issues/30122\n // currently we do not support same type and cross type comparision for object and arrays.\n\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\n // Validate if the two item are of same type or not based on the type ordinal.\n const typeCmp = type1Ord - type2Ord;\n\n // if not same type, compare based on the type ordinal. Lower ordinal takes precedence over higher ordinal.\n if (typeCmp !== 0) {\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"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -50,6 +50,7 @@ class OrderByDocumentProducerComparator {
50
50
  constructor(sortOrder) {
51
51
  this.sortOrder = sortOrder;
52
52
  }
53
+ sortOrder;
53
54
  // TODO: This should be an enum
54
55
  /**
55
56
  * Compares document producers based on their partition key range minInclusive values.
@@ -151,3 +152,4 @@ class OrderByDocumentProducerComparator {
151
152
  0 && (module.exports = {
152
153
  OrderByDocumentProducerComparator
153
154
  });
155
+ //# sourceMappingURL=orderByDocumentProducerComparator.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByDocumentProducerComparator.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/orderByDocumentProducerComparator.ts"],
4
4
  "sourcesContent": ["\uFEFF// 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"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -90,3 +90,4 @@ class OrderByQueryExecutionContext extends import_parallelQueryExecutionContextB
90
90
  0 && (module.exports = {
91
91
  OrderByQueryExecutionContext
92
92
  });
93
+ //# sourceMappingURL=orderByQueryExecutionContext.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByQueryExecutionContext.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/orderByQueryExecutionContext.ts"],
4
4
  "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"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,+CAAkD;AAClD,+CAAkD;AAElD,yCAA4C;AAC5C,4CAA+C;AAGxC,MAAM,qCACH,2EAEV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcE,YACE,eACA,gBACA,OACA,SACA,+BACA,sBACA;AACA,UAAM,eAAe,+DAA4B,sBAAsB;AAAA,MACrE,WAAW;AAAA,IACb,CAAC;AAGD,UAAM,qBAAqB,IAAI;AAAA,MAC7B,8BAA8B,UAAU;AAAA,IAC1C;AAGA,UAAM,oBAAoB,IAAI;AAAA,MAC5B,8BAA8B,UAAU;AAAA,IAC1C;AAGA,UAAM,aAAa,CAAC,UAA4B,aAAuC;AACrF,aAAO,kBAAkB,QAAQ,UAAU,QAAQ;AAAA,IACrD;AAGA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAgB,kBAAkB,UAAoD;AACpF,UAAM,WAAW,MAAM,SAAS,cAAc;AAC9C,QAAI,YAAY,SAAS,QAAQ;AAC/B,aAAO;AAAA,QACL,QAAQ,CAAC,SAAS,MAAM;AAAA,QACxB,SAAS,SAAS;AAAA,MACpB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQU,+BAA+B,sBAAwC;AAE/E,WAAO;AAAA,EACT;AACF;",
6
6
  "names": []
@@ -84,3 +84,4 @@ class ParallelQueryExecutionContext extends import_parallelQueryExecutionContext
84
84
  0 && (module.exports = {
85
85
  ParallelQueryExecutionContext
86
86
  });
87
+ //# sourceMappingURL=parallelQueryExecutionContext.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContext.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/parallelQueryExecutionContext.ts"],
4
4
  "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"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,+CAAkD;AAIlD,yCAA4C;AAC5C,6CAAgD;AAOzC,MAAM,sCACH,2EAEV;AAAA,EACE,YACE,eACA,gBACA,OACA,SACA,+BACA,sBACA;AACA,UAAM,eAAe,+DAA4B,uBAAuB;AAAA,MACtE,WAAW;AAAA,IACb,CAAC;AAGD,UAAM,qBAAqB,IAAI,uEAAgC;AAG/D,UAAM,aAAa,8BAA8B,iCAAiC;AAGlF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAgB,kBAAkB,UAAoD;AACpF,WAAO,SAAS,mBAAmB;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQU,+BAA+B,uBAAyC;AAChF,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAe,mCAGH;AACV,WAAO,CAAC,UAA4B,aAAuC;AACzE,YAAM,gBAAgB,SAAS,wBAAwB;AACvD,YAAM,gBAAgB,SAAS,wBAAwB;AAGvD,UAAI,kBAAkB,eAAe;AAEnC,cAAM,UAAU,SAAS;AACzB,cAAM,UAAU,SAAS;AACzB,YAAI,WAAW,SAAS;AACtB,iBAAO,UAAU,UAAU,KAAK;AAAA,QAClC;AACA,eAAO;AAAA,MACT;AACA,UAAI,kBAAkB,GAAI,QAAO;AACjC,UAAI,kBAAkB,GAAI,QAAO;AACjC,aAAO,gBAAgB,gBAAgB,KAAK;AAAA,IAC9C;AAAA,EACF;AACF;",
6
6
  "names": []
@@ -107,6 +107,15 @@ class ParallelQueryExecutionContextBase {
107
107
  this.sem = (0, import_semaphore.default)(1);
108
108
  this.sem.take(() => this._initializeDocumentProducers());
109
109
  }
110
+ clientContext;
111
+ collectionLink;
112
+ query;
113
+ options;
114
+ partitionedQueryExecutionInfo;
115
+ correlatedActivityId;
116
+ rangeManager;
117
+ queryProcessingStrategy;
118
+ documentProducerComparator;
110
119
  err;
111
120
  state;
112
121
  static STATES = ParallelQueryExecutionContextBaseStates;
@@ -849,3 +858,4 @@ class ParallelQueryExecutionContextBase {
849
858
  ParallelQueryExecutionContextBase,
850
859
  ParallelQueryExecutionContextBaseStates
851
860
  });
861
+ //# sourceMappingURL=parallelQueryExecutionContextBase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContextBase.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/parallelQueryExecutionContextBase.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport PriorityQueue from \"priorityqueuejs\";\nimport semaphore from \"semaphore\";\nimport { StatusCodes, SubStatusCodes } from \"../common/statusCodes.js\";\nimport type { FeedOptions, Response } from \"../request/index.js\";\nimport type { PartitionedQueryExecutionInfo } from \"../request/ErrorResponse.js\";\nimport { ErrorResponse } from \"../request/ErrorResponse.js\";\nimport { QueryRange } from \"../routing/QueryRange.js\";\nimport { SmartRoutingMapProvider } from \"../routing/smartRoutingMapProvider.js\";\nimport type { CosmosHeaders, PartitionKeyRange } from \"../index.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\nimport type { SqlQuerySpec } from \"./SqlQuerySpec.js\";\nimport { DocumentProducer } from \"./documentProducer.js\";\nimport { getInitialHeader, mergeHeaders } from \"./headerUtils.js\";\nimport type { FilterContext, FilterStrategy } from \"./queryFilteringStrategy/FilterStrategy.js\";\nimport { RidSkipCountFilter } from \"./queryFilteringStrategy/RidSkipCountFilter.js\";\nimport type { TargetPartitionRangeManager } from \"./queryFilteringStrategy/TargetPartitionRangeManager.js\";\nimport type { QueryProcessingStrategy } from \"./queryProcessingStrategy/QueryProcessingStrategy.js\";\nimport {\n DiagnosticNodeInternal,\n DiagnosticNodeType,\n} from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type { ClientContext } from \"../ClientContext.js\";\nimport type { QueryRangeMapping } from \"./queryRangeMapping.js\";\nimport type {\n QueryRangeWithContinuationToken,\n RangeBoundary,\n BaseContinuationToken,\n} from \"../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport { createParallelQueryResult } from \"./parallelQueryResult.js\";\nimport type {\n PartitionRangeUpdate,\n PartitionRangeUpdates,\n} from \"../documents/ContinuationToken/PartitionRangeUpdate.js\";\n\n/** @hidden */\nexport enum ParallelQueryExecutionContextBaseStates {\n started = \"started\",\n inProgress = \"inProgress\",\n ended = \"ended\",\n}\n\n/** @hidden */\nexport abstract class ParallelQueryExecutionContextBase implements ExecutionContext {\n private err: any;\n private state: any;\n private static readonly STATES = ParallelQueryExecutionContextBaseStates;\n private routingProvider: SmartRoutingMapProvider;\n private readonly requestContinuation: any;\n private respHeaders: CosmosHeaders;\n private readonly unfilledDocumentProducersQueue: PriorityQueue<DocumentProducer>;\n private readonly bufferedDocumentProducersQueue: PriorityQueue<DocumentProducer>;\n // TODO: update type of buffer from any --> generic can be used here\n private buffer: any[];\n private partitionDataPatchMap: Map<string, QueryRangeMapping> = new Map();\n private patchCounter: number = 0;\n private readonly updatedContinuationRanges: Map<string, PartitionRangeUpdate> = new Map();\n private readonly sem: any;\n private readonly diagnosticNodeWrapper: {\n consumed: boolean;\n diagnosticNode: DiagnosticNodeInternal;\n };\n /**\n * Provides the ParallelQueryExecutionContextBase.\n * This is the base class that ParallelQueryExecutionContext and OrderByQueryExecutionContext will derive from.\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 private readonly clientContext: ClientContext,\n private readonly collectionLink: string,\n private readonly query: string | SqlQuerySpec,\n private readonly options: FeedOptions,\n private readonly partitionedQueryExecutionInfo: PartitionedQueryExecutionInfo,\n private readonly correlatedActivityId: string,\n private readonly rangeManager: TargetPartitionRangeManager,\n private readonly queryProcessingStrategy: QueryProcessingStrategy,\n private readonly documentProducerComparator: (\n dp1: DocumentProducer,\n dp2: DocumentProducer,\n ) => number,\n ) {\n this.clientContext = clientContext;\n this.collectionLink = collectionLink;\n this.query = query;\n this.options = options;\n this.partitionedQueryExecutionInfo = partitionedQueryExecutionInfo;\n this.correlatedActivityId = correlatedActivityId;\n this.diagnosticNodeWrapper = {\n consumed: false,\n diagnosticNode: new DiagnosticNodeInternal(\n clientContext.diagnosticLevel,\n DiagnosticNodeType.PARALLEL_QUERY_NODE,\n null,\n ),\n };\n this.diagnosticNodeWrapper.diagnosticNode.addData({ stateful: true });\n this.err = undefined;\n this.state = ParallelQueryExecutionContextBase.STATES.started;\n this.routingProvider = new SmartRoutingMapProvider(this.clientContext);\n this.buffer = [];\n this.requestContinuation = options\n ? options.continuationToken || options.continuation\n : undefined;\n\n // Validate continuation token usage immediately\n if (this.requestContinuation && !this.options.enableQueryControl) {\n throw new Error(\n \"Continuation tokens are supported when enableQueryControl is set true in FeedOptions\",\n );\n }\n\n // response headers of undergoing operation\n this.respHeaders = getInitialHeader();\n // Make priority queue for documentProducers\n this.unfilledDocumentProducersQueue = new PriorityQueue<DocumentProducer>(\n (a: DocumentProducer, b: DocumentProducer) => this.compareDocumentProducersByRange(a, b),\n );\n this.bufferedDocumentProducersQueue = new PriorityQueue<DocumentProducer>(\n (a: DocumentProducer, b: DocumentProducer) => this.documentProducerComparator(b, a),\n );\n // Creating the documentProducers\n this.sem = semaphore(1);\n this.sem.take(() => this._initializeDocumentProducers());\n }\n\n /**\n * Determine if there are still remaining resources to processs based on the value of the continuation\n * token or the elements remaining on the current batch in the QueryIterator.\n * @returns true if there is other elements to process in the ParallelQueryExecutionContextBase.\n */\n public hasMoreResults(): boolean {\n return (\n !this.err &&\n (this.buffer.length > 0 || this.state !== ParallelQueryExecutionContextBase.STATES.ended)\n );\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 await this.bufferDocumentProducers(diagnosticNode);\n await this.fillBufferFromBufferQueue();\n return this.drainBufferedItems();\n }\n\n /**\n * Processes buffered document producers\n * @returns A promise that resolves when processing is complete.\n */\n private async processBufferedDocumentProducers(): Promise<void> {\n while (\n this.hasBufferedProducers() &&\n this.shouldProcessBufferedProducers(this.isUnfilledQueueEmpty())\n ) {\n const producer = this.getNextBufferedProducer();\n if (!producer) break;\n\n await this.processDocumentProducer(producer);\n }\n }\n\n /**\n * Processes a single document producer using template method pattern.\n * Common structure with query-specific processing delegated to subclasses.\n */\n private async processDocumentProducer(producer: DocumentProducer): Promise<void> {\n const response = await this.fetchFromProducer(producer);\n this._mergeWithActiveResponseHeaders(response.headers);\n\n if (response.result) {\n this.addToBuffer(response.result);\n this.handlePartitionMapping(producer, response.result);\n }\n\n // Handle producer lifecycle\n if (producer.peakNextItem() !== undefined) {\n this.requeueProducer(producer);\n } else if (producer.hasMoreResults()) {\n this.moveToUnfilledQueue(producer);\n }\n }\n\n /**\n * Fetches data from a document producer - implemented by subclasses.\n */\n protected abstract fetchFromProducer(producer: DocumentProducer): Promise<Response<any>>;\n\n /**\n * Handles partition mapping updates - implemented in base class using template method pattern.\n * Child classes provide query-specific parameters through abstract methods.\n */\n private handlePartitionMapping(producer: DocumentProducer, result: any): void {\n const itemCount = result?.length || 0;\n const continuationToken = this.getContinuationToken(producer);\n const mapping = {\n itemCount,\n partitionKeyRange: producer.targetPartitionKeyRange,\n continuationToken,\n };\n\n this.updatePartitionMapping(mapping);\n }\n\n /**\n * Gets the continuation token to use - implemented by subclasses.\n */\n private getContinuationToken(producer: DocumentProducer): string {\n const hasMoreBufferedItems = producer.peakNextItem() !== undefined;\n return hasMoreBufferedItems ? producer.previousContinuationToken : producer.continuationToken;\n }\n /**\n * Determines if buffered producers should continue to be processed based on query-specific rules.\n * @param isUnfilledQueueEmpty - Whether the unfilled queue is empty\n */\n protected abstract shouldProcessBufferedProducers(isUnfilledQueueEmpty: boolean): boolean;\n\n /**\n * Updates partition mapping - creates new entry or merges with existing for ORDER BY queries.\n */\n private updatePartitionMapping(mapping: QueryRangeMapping): void {\n const currentPatch = this.partitionDataPatchMap.get(this.patchCounter.toString());\n const isSamePartition = currentPatch?.partitionKeyRange?.id === mapping.partitionKeyRange.id;\n\n if (isSamePartition && currentPatch) {\n currentPatch.itemCount += mapping.itemCount;\n currentPatch.continuationToken = mapping.continuationToken;\n return;\n }\n // Create new partition mapping entry\n this.partitionDataPatchMap.set((++this.patchCounter).toString(), mapping);\n }\n\n /**\n * Checks if the unfilled queue is empty (used by ORDER BY for processing control).\n */\n protected isUnfilledQueueEmpty(): boolean {\n return this.unfilledDocumentProducersQueue.size() === 0;\n }\n\n /**\n * Initializes document producers and fills the priority queue.\n * Handles both continuation token and fresh query scenarios.\n */\n private async _initializeDocumentProducers(): Promise<void> {\n try {\n const targetPartitionRanges = await this._onTargetPartitionRanges();\n const documentProducers = this.requestContinuation\n ? await this._createDocumentProducersFromContinuation(targetPartitionRanges)\n : this._createDocumentProducersFromFresh(targetPartitionRanges);\n\n // Fill up our priority queue with documentProducers\n this._enqueueDocumentProducers(documentProducers);\n this.sem.leave();\n } catch (err: any) {\n this.err = err;\n this.sem.leave();\n }\n }\n\n /**\n * Creates document producers from continuation token scenario.\n */\n private async _createDocumentProducersFromContinuation(\n targetPartitionRanges: any[],\n ): Promise<DocumentProducer[]> {\n // Parse continuation token to get range mappings and check for split/merge scenarios\n const parsedToken = this._parseContinuationToken(this.requestContinuation);\n const continuationRanges = await this._handlePartitionRangeChanges(parsedToken);\n\n // Use strategy to create additional query info from parsed token\n const additionalQueryInfo = this.queryProcessingStrategy.createAdditionalQueryInfo(parsedToken);\n\n const filterResult = this.rangeManager.filterPartitionRanges(\n targetPartitionRanges,\n continuationRanges,\n additionalQueryInfo,\n );\n\n // Extract ranges and tokens from the combined result\n const rangeTokenPairs = filterResult.rangeTokenPairs;\n\n // Use strategy to create filter context for continuation token processing\n const filterContext = this.queryProcessingStrategy.createFilterContext(parsedToken);\n\n return rangeTokenPairs.map((rangeTokenPair) =>\n this._createDocumentProducerFromRangeTokenPair(\n rangeTokenPair,\n continuationRanges,\n filterContext,\n ),\n );\n }\n\n /**\n * Creates document producers from fresh query scenario (no continuation token).\n */\n private _createDocumentProducersFromFresh(targetPartitionRanges: any[]): DocumentProducer[] {\n return targetPartitionRanges.map((partitionTargetRange: any) =>\n this._createTargetPartitionQueryExecutionContext(partitionTargetRange, undefined),\n );\n }\n\n /**\n * Creates a document producer from a range token pair (continuation token scenario).\n */\n private _createDocumentProducerFromRangeTokenPair(\n rangeTokenPair: any,\n continuationRanges: any[],\n filterContext: any,\n ): DocumentProducer {\n const partitionTargetRange = rangeTokenPair.range;\n const continuationToken = rangeTokenPair.continuationToken;\n const filterCondition = rangeTokenPair.filteringCondition || undefined;\n\n // Find EPK ranges for this partition range from processed continuation response\n const matchingContinuationRange = continuationRanges.find(\n (cr) => cr.range.id === partitionTargetRange.id,\n );\n const startEpk = matchingContinuationRange?.epkMin;\n const endEpk = matchingContinuationRange?.epkMax;\n\n // Use strategy to determine partition-specific filter context\n const targetPartitionId =\n continuationRanges.length > 0 && continuationRanges[continuationRanges.length - 1].range\n ? continuationRanges[continuationRanges.length - 1].range.id\n : undefined;\n const partitionFilterContext = this.queryProcessingStrategy.getPartitionFilterContext(\n filterContext,\n targetPartitionId,\n partitionTargetRange.id,\n );\n\n return this._createTargetPartitionQueryExecutionContext(\n partitionTargetRange,\n continuationToken,\n startEpk,\n endEpk,\n !!(startEpk && endEpk), // populateEpkRangeHeaders - true if both EPK values are present\n filterCondition,\n partitionFilterContext,\n );\n }\n\n /**\n * Enqueues document producers into the unfilled queue.\n */\n private _enqueueDocumentProducers(documentProducers: DocumentProducer[]): void {\n documentProducers.forEach((documentProducer) => {\n try {\n this.unfilledDocumentProducersQueue.enq(documentProducer);\n } catch (e: any) {\n this.err = e;\n }\n });\n }\n\n /**\n * Checks if there are buffered document producers ready for processing.\n * Encapsulates queue size checking.\n */\n private hasBufferedProducers(): boolean {\n return this.bufferedDocumentProducersQueue.size() > 0;\n }\n\n /**\n * Gets the next buffered document producer for processing.\n * Encapsulates queue dequeuing logic.\n */\n private getNextBufferedProducer(): DocumentProducer | undefined {\n if (this.bufferedDocumentProducersQueue.size() > 0) {\n return this.bufferedDocumentProducersQueue.deq();\n }\n return undefined;\n }\n\n /**\n * Adds items to the result buffer. Handles both single items and arrays.\n */\n private addToBuffer(items: any[] | any): void {\n if (Array.isArray(items)) {\n if (items.length > 0) {\n this.buffer.push(...items);\n }\n } else if (items) {\n this.buffer.push(items);\n }\n }\n\n /**\n * Moves a producer to the unfilled queue for later processing.\n */\n private moveToUnfilledQueue(producer: DocumentProducer): void {\n this.unfilledDocumentProducersQueue.enq(producer);\n }\n\n /**\n * Re-queues a producer to the buffered queue for further processing.\n */\n private requeueProducer(producer: DocumentProducer): void {\n this.bufferedDocumentProducersQueue.enq(producer);\n }\n\n /**\n * Compares two document producers based on their partition key ranges and EPK values.\n * Primary comparison: minInclusive values for left-to-right range traversal\n * Secondary comparison: EPK ranges when minInclusive values are identical\n * @param a - First document producer\n * @param b - Second document producer\n * @returns Comparison result for priority queue ordering\n * @hidden\n */\n private compareDocumentProducersByRange(a: DocumentProducer, b: DocumentProducer): number {\n const aMinInclusive = a.targetPartitionKeyRange.minInclusive;\n const bMinInclusive = b.targetPartitionKeyRange.minInclusive;\n const minInclusiveComparison = bMinInclusive.localeCompare(aMinInclusive);\n\n // If minInclusive values are the same, check minEPK ranges if they exist\n if (minInclusiveComparison === 0) {\n const aMinEpk = a.startEpk;\n const bMinEpk = b.startEpk;\n if (aMinEpk && bMinEpk) {\n return bMinEpk.localeCompare(aMinEpk);\n }\n }\n\n return minInclusiveComparison;\n }\n\n /**\n * Detects partition splits/merges by analyzing parsed continuation token ranges and comparing with current topology\n * @param parsed - The continuation token containing range mappings to analyze\n * @returns Array of processed ranges with EPK info\n */\n private async _handlePartitionRangeChanges(\n parsed: BaseContinuationToken,\n ): Promise<{ range: any; continuationToken?: string; epkMin?: string; epkMax?: string }[]> {\n const processedRanges: {\n range: any;\n continuationToken?: string;\n epkMin?: string;\n epkMax?: string;\n }[] = [];\n\n // Extract range mappings from the already parsed token\n const rangeMappings = parsed.rangeMappings;\n\n if (!rangeMappings || rangeMappings.length === 0) {\n return [];\n }\n\n // Check each range mapping for potential splits/merges\n for (const rangeWithToken of rangeMappings) {\n // Create a new QueryRange instance from the simplified range data\n const range = rangeWithToken.queryRange;\n const queryRange: QueryRange = new QueryRange(\n range.min,\n range.max,\n true, // isMinInclusive - assumption: always true\n false, // isMaxInclusive - assumption: always false (max is exclusive)\n );\n\n const rangeMin = queryRange.min;\n const rangeMax = queryRange.max;\n\n // Get current overlapping ranges for this continuation token range\n const overlappingRanges = await this.routingProvider.getOverlappingRanges(\n this.collectionLink,\n [queryRange],\n this.getDiagnosticNode(),\n );\n\n // Detect split/merge scenario based on the number of overlapping ranges\n if (overlappingRanges.length === 0) {\n continue;\n } else if (overlappingRanges.length === 1) {\n // Check if it's the same range (no change) or a merge scenario\n const currentRange = overlappingRanges[0];\n if (currentRange.minInclusive !== rangeMin || currentRange.maxExclusive !== rangeMax) {\n // Merge scenario - include EPK ranges from original continuation token range\n await this._handleContinuationTokenMerge(rangeWithToken, currentRange);\n processedRanges.push({\n range: currentRange,\n continuationToken: rangeWithToken.continuationToken,\n epkMin: rangeMin, // Original range min becomes EPK min\n epkMax: rangeMax, // Original range max becomes EPK max\n });\n } else {\n // Same range - no merge, no EPK ranges needed\n processedRanges.push({\n range: currentRange,\n continuationToken: rangeWithToken.continuationToken,\n });\n }\n } else {\n // Split scenario - one range from continuation token now maps to multiple ranges\n await this._handleContinuationTokenSplit(rangeWithToken, overlappingRanges);\n // Add all overlapping ranges with the same continuation token to processed ranges\n overlappingRanges.forEach((rangeValue) => {\n processedRanges.push({\n range: rangeValue,\n continuationToken: rangeWithToken.continuationToken,\n });\n });\n }\n }\n\n return processedRanges;\n }\n\n /**\n * Parses the continuation token based on query type\n * @param continuationToken - The continuation token string to parse\n * @returns Parsed continuation token object (ORDER BY or Parallel query token)\n * @throws ErrorResponse when continuation token is malformed or cannot be parsed\n */\n private _parseContinuationToken(continuationToken: string): BaseContinuationToken {\n try {\n return this.queryProcessingStrategy.parseContinuationToken(continuationToken);\n } catch (e) {\n throw new ErrorResponse(\n `Invalid continuation token format. Expected token with rangeMappings property. ` +\n `Ensure the continuation token was generated by a compatible query and has not been modified.`,\n );\n }\n }\n\n /**\n * Handles partition merge scenario for continuation token ranges\n */\n private async _handleContinuationTokenMerge(\n rangeWithToken: QueryRangeWithContinuationToken,\n _newMergedRange: PartitionKeyRange,\n ): Promise<void> {\n const rangeKey = `${rangeWithToken.queryRange.min}-${rangeWithToken.queryRange.max}`;\n this.updatedContinuationRanges.set(rangeKey, {\n oldRange: {\n min: rangeWithToken.queryRange.min,\n max: rangeWithToken.queryRange.max,\n isMinInclusive: true, // Assumption: min is always inclusive\n isMaxInclusive: false, // Assumption: max is always exclusive\n },\n newRanges: [\n {\n min: rangeWithToken.queryRange.min,\n max: rangeWithToken.queryRange.max,\n isMinInclusive: true, // Assumption: min is always inclusive\n isMaxInclusive: false, // Assumption: max is always exclusive\n },\n ],\n continuationToken: rangeWithToken.continuationToken,\n });\n }\n\n /**\n * Handles partition split scenario for continuation token ranges\n */\n private async _handleContinuationTokenSplit(\n rangeWithToken: QueryRangeWithContinuationToken,\n overlappingRanges: any[],\n ): Promise<void> {\n const rangeKey = `${rangeWithToken.queryRange.min}-${rangeWithToken.queryRange.max}`;\n this.updatedContinuationRanges.set(rangeKey, {\n oldRange: {\n min: rangeWithToken.queryRange.min,\n max: rangeWithToken.queryRange.max,\n isMinInclusive: true, // Assumption: min is always inclusive\n isMaxInclusive: false, // Assumption: max is always exclusive\n },\n newRanges: overlappingRanges.map((range) => ({\n min: range.minInclusive,\n max: range.maxExclusive,\n isMinInclusive: true,\n isMaxInclusive: false,\n })),\n continuationToken: rangeWithToken.continuationToken,\n });\n }\n\n /**\n * Handles partition merge scenario for continuation token ranges\n */\n private _mergeWithActiveResponseHeaders(headers: CosmosHeaders): void {\n mergeHeaders(this.respHeaders, headers);\n }\n\n private _getAndResetActiveResponseHeaders(): CosmosHeaders {\n const ret = this.respHeaders;\n this.respHeaders = getInitialHeader();\n return ret;\n }\n\n private getDiagnosticNode(): DiagnosticNodeInternal {\n return this.diagnosticNodeWrapper.diagnosticNode;\n }\n\n private async _onTargetPartitionRanges(): Promise<any[]> {\n // invokes the callback when the target partition ranges are ready\n const parsedRanges = this.partitionedQueryExecutionInfo.queryRanges;\n const queryRanges = parsedRanges.map((item) => QueryRange.parseFromDict(item));\n return this.routingProvider.getOverlappingRanges(\n this.collectionLink,\n queryRanges,\n this.getDiagnosticNode(),\n );\n }\n\n /**\n * Gets the replacement ranges for a partitionkeyrange that has been split\n */\n private async _getReplacementPartitionKeyRanges(\n documentProducer: DocumentProducer,\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<any[]> {\n const partitionKeyRange = documentProducer.targetPartitionKeyRange;\n // Download the new routing map\n this.routingProvider = new SmartRoutingMapProvider(this.clientContext);\n // Get the queryRange that relates to this partitionKeyRange\n const queryRange = QueryRange.parsePartitionKeyRange(partitionKeyRange);\n return this.routingProvider.getOverlappingRanges(\n this.collectionLink,\n [queryRange],\n diagnosticNode,\n );\n }\n\n private async _enqueueReplacementDocumentProducers(\n error: any,\n diagnosticNode: DiagnosticNodeInternal,\n documentProducer: DocumentProducer,\n ): Promise<void> {\n // Get the replacement ranges\n const replacementPartitionKeyRanges = await this._getReplacementPartitionKeyRanges(\n documentProducer,\n diagnosticNode,\n );\n\n if (replacementPartitionKeyRanges.length === 0) {\n throw error;\n }\n\n if (this.requestContinuation) {\n // Update composite continuation token to handle partition split\n this._updateContinuationTokenOnPartitionChange(\n documentProducer,\n replacementPartitionKeyRanges,\n );\n }\n\n if (replacementPartitionKeyRanges.length === 1) {\n // Partition is gone due to Merge\n // Create the replacement documentProducer with populateEpkRangeHeaders Flag set to true to set startEpk and endEpk headers\n const replacementDocumentProducer = this._createTargetPartitionQueryExecutionContext(\n replacementPartitionKeyRanges[0],\n documentProducer.continuationToken,\n documentProducer.startEpk,\n documentProducer.endEpk,\n true,\n );\n\n this.unfilledDocumentProducersQueue.enq(replacementDocumentProducer);\n } else {\n // Create the replacement documentProducers\n const replacementDocumentProducers: DocumentProducer[] = [];\n replacementPartitionKeyRanges.forEach((partitionKeyRange) => {\n const queryRange = QueryRange.parsePartitionKeyRange(partitionKeyRange);\n // Create replacment document producers with the parent's continuationToken\n const replacementDocumentProducer = this._createTargetPartitionQueryExecutionContext(\n partitionKeyRange,\n documentProducer.continuationToken,\n queryRange.min,\n queryRange.max,\n false,\n );\n replacementDocumentProducers.push(replacementDocumentProducer);\n });\n\n // add document producers to the queue\n replacementDocumentProducers.forEach((replacementDocumentProducer) => {\n if (replacementDocumentProducer.hasMoreResults()) {\n this.unfilledDocumentProducersQueue.enq(replacementDocumentProducer);\n }\n });\n }\n }\n\n private _updateContinuationTokenOnPartitionChange(\n originalDocumentProducer: DocumentProducer,\n replacementPartitionKeyRanges: any[],\n ): void {\n const rangeWithToken = this._createQueryRangeWithContinuationToken(originalDocumentProducer);\n if (replacementPartitionKeyRanges.length === 1) {\n this._handleContinuationTokenMerge(rangeWithToken, replacementPartitionKeyRanges[0]);\n } else {\n this._handleContinuationTokenSplit(rangeWithToken, replacementPartitionKeyRanges);\n }\n }\n\n /**\n * Creates a QueryRangeWithContinuationToken object from a DocumentProducer.\n * Uses the DocumentProducer's target partition key range and continuation token.\n * @param documentProducer - The DocumentProducer to convert\n * @returns QueryRangeWithContinuationToken object for token operations\n */\n private _createQueryRangeWithContinuationToken(\n documentProducer: DocumentProducer,\n ): QueryRangeWithContinuationToken {\n const partitionRange = documentProducer.targetPartitionKeyRange;\n\n // Create a simplified QueryRange using the partition key range boundaries\n const simplifiedQueryRange: RangeBoundary = {\n min: documentProducer.startEpk || partitionRange.minInclusive,\n max: documentProducer.endEpk || partitionRange.maxExclusive,\n };\n\n return {\n queryRange: simplifiedQueryRange,\n continuationToken: documentProducer.continuationToken,\n };\n }\n\n private static _needPartitionKeyRangeCacheRefresh(error: any): boolean {\n // TODO: any error\n return (\n error.code === StatusCodes.Gone &&\n \"substatus\" in error &&\n error[\"substatus\"] === SubStatusCodes.PartitionKeyRangeGone\n );\n }\n\n /**\n * Replaces the format placeholder in the rewritten query with the provided filter condition.\n * Handles both string queries and SqlQuerySpec objects.\n */\n private _replaceFormatPlaceholder(\n rewrittenQuery: string | SqlQuerySpec,\n formatPlaceHolder: string,\n filterCondition?: string,\n ): string {\n const replacement = filterCondition ?? \"true\";\n\n // If rewrittenQuery has a query property, it's a SqlQuerySpec object\n if (typeof rewrittenQuery === \"object\" && rewrittenQuery !== null && rewrittenQuery.query) {\n return rewrittenQuery.query.replace(formatPlaceHolder, replacement);\n }\n\n // Otherwise, it's a string\n return (rewrittenQuery as string).replace(formatPlaceHolder, replacement);\n }\n\n /**\n * Creates target partition range Query Execution Context\n */\n private _createTargetPartitionQueryExecutionContext(\n partitionKeyTargetRange: any,\n continuationToken?: any,\n startEpk?: string,\n endEpk?: string,\n populateEpkRangeHeaders?: boolean,\n filterCondition?: string,\n filterContext?: FilterContext,\n ): DocumentProducer {\n const rewrittenQuery = this.partitionedQueryExecutionInfo.queryInfo?.rewrittenQuery;\n let sqlQuerySpec: SqlQuerySpec;\n const query = this.query;\n if (typeof query === \"string\") {\n sqlQuerySpec = { query };\n } else {\n sqlQuerySpec = query;\n }\n\n const formatPlaceHolder = \"{documentdb-formattableorderbyquery-filter}\";\n if (rewrittenQuery) {\n sqlQuerySpec = JSON.parse(JSON.stringify(sqlQuerySpec));\n const replacedQuery = this._replaceFormatPlaceholder(\n rewrittenQuery,\n formatPlaceHolder,\n filterCondition,\n );\n sqlQuerySpec[\"query\"] = replacedQuery;\n }\n\n const options = { ...this.options };\n options.continuationToken = continuationToken;\n\n let filter: FilterStrategy | undefined;\n if (filterContext) {\n filter = new RidSkipCountFilter(filterContext);\n }\n\n return new DocumentProducer(\n this.clientContext,\n this.collectionLink,\n sqlQuerySpec,\n partitionKeyTargetRange,\n options,\n this.correlatedActivityId,\n startEpk,\n endEpk,\n populateEpkRangeHeaders,\n filter,\n );\n }\n private async drainBufferedItems(): Promise<Response<any>> {\n return new Promise<Response<any>>((resolve, reject) => {\n this.sem.take(() => {\n if (this.err) {\n // if there is a prior error return error\n this.sem.leave();\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(this.err);\n return;\n }\n\n // return undefined if there is no more results\n if (this.buffer.length === 0) {\n this.sem.leave();\n const partitionDataPatchMap = this.partitionDataPatchMap;\n this.partitionDataPatchMap = new Map<string, QueryRangeMapping>();\n this.patchCounter = 0;\n // Get and reset updated continuation ranges\n const updatedContinuationRanges: PartitionRangeUpdates = Object.fromEntries(\n this.updatedContinuationRanges,\n );\n this.updatedContinuationRanges.clear();\n const result = createParallelQueryResult(\n [],\n partitionDataPatchMap,\n updatedContinuationRanges,\n undefined,\n );\n\n return resolve({\n result:\n this.state === ParallelQueryExecutionContextBase.STATES.ended ? undefined : result,\n headers: this._getAndResetActiveResponseHeaders(),\n });\n }\n // draing the entire buffer object and return that in result of return object\n const bufferedResults = this.buffer;\n this.buffer = [];\n // reset the patchToRangeMapping\n const partitionDataPatchMap = this.partitionDataPatchMap;\n this.partitionDataPatchMap = new Map<string, QueryRangeMapping>();\n this.patchCounter = 0;\n\n // Get and reset updated continuation ranges\n const updatedContinuationRanges: PartitionRangeUpdates = Object.fromEntries(\n this.updatedContinuationRanges,\n );\n this.updatedContinuationRanges.clear();\n\n // release the lock before returning\n this.sem.leave();\n\n const result = createParallelQueryResult(\n bufferedResults,\n partitionDataPatchMap,\n updatedContinuationRanges,\n undefined,\n );\n\n return resolve({\n result,\n headers: this._getAndResetActiveResponseHeaders(),\n });\n });\n });\n }\n\n /**\n * Buffers document producers based on the maximum degree of parallelism.\n * Moves document producers from the unfilled queue to the buffered queue.\n * @param diagnosticNode - The diagnostic node for logging and tracing.\n * @returns A promise that resolves when buffering is complete.\n */\n private async bufferDocumentProducers(diagnosticNode?: DiagnosticNodeInternal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.sem.take(async () => {\n if (this.err) {\n this.sem.leave();\n reject(this.err);\n return;\n }\n this.updateStates(this.err);\n\n if (this.state === ParallelQueryExecutionContextBase.STATES.ended) {\n this.sem.leave();\n resolve();\n return;\n }\n\n if (this.unfilledDocumentProducersQueue.size() === 0) {\n this.sem.leave();\n resolve();\n return;\n }\n\n try {\n const maxDegreeOfParallelism =\n this.options.maxDegreeOfParallelism === undefined ||\n this.options.maxDegreeOfParallelism < 1\n ? this.unfilledDocumentProducersQueue.size() // number of partitions\n : Math.min(\n this.options.maxDegreeOfParallelism,\n this.unfilledDocumentProducersQueue.size(),\n );\n\n const documentProducers: DocumentProducer[] = [];\n while (\n documentProducers.length < maxDegreeOfParallelism &&\n this.unfilledDocumentProducersQueue.size() > 0\n ) {\n let documentProducer: DocumentProducer;\n try {\n documentProducer = this.unfilledDocumentProducersQueue.deq();\n } catch (e: any) {\n this.err = e;\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(this.err);\n return;\n }\n documentProducers.push(documentProducer);\n }\n\n const bufferDocumentProducer = async (\n documentProducer: DocumentProducer,\n ): Promise<void> => {\n try {\n const headers = await documentProducer.bufferMore(diagnosticNode);\n this._mergeWithActiveResponseHeaders(headers);\n\n // Always track this document producer in patchToRangeMapping, even if it has no results\n // This ensures we maintain a record of all partition ranges that were scanned\n const nextItem = documentProducer.peakNextItem();\n if (nextItem !== undefined) {\n this.bufferedDocumentProducersQueue.enq(documentProducer);\n } else {\n // Track document producer with no results in patchToRangeMapping\n // This represents a scanned partition that yielded no results\n // IMPORTANT: Only include if continuation token is NOT null/exhausted\n // Document producers with no data in buffer and no continuation token are exhausted and should not be added to partitionDataPatchMap to prevent infinite loops in order by queries\n if (\n documentProducer.continuationToken &&\n documentProducer.continuationToken !== \"\" &&\n documentProducer.continuationToken.toLowerCase() !== \"null\"\n ) {\n const patchKey = `empty-${documentProducer.targetPartitionKeyRange.id}-${documentProducer.targetPartitionKeyRange.minInclusive}`;\n this.partitionDataPatchMap.set(patchKey, {\n itemCount: 0, // 0 items for empty result set\n partitionKeyRange: documentProducer.targetPartitionKeyRange,\n continuationToken: documentProducer.continuationToken,\n });\n }\n if (documentProducer.hasMoreResults()) {\n this.unfilledDocumentProducersQueue.enq(documentProducer);\n }\n }\n } catch (err) {\n if (ParallelQueryExecutionContextBase._needPartitionKeyRangeCacheRefresh(err)) {\n // We want the document producer enqueued\n // So that later parts of the code can repair the execution context\n // refresh the partition key ranges and ctreate new document producers and add it to the queue\n await this._enqueueReplacementDocumentProducers(\n err,\n diagnosticNode,\n documentProducer,\n );\n resolve();\n } else {\n this.err = err;\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(err);\n }\n }\n };\n\n try {\n await Promise.all(\n documentProducers.map((producer) => bufferDocumentProducer(producer)),\n );\n } catch (err) {\n this.err = err;\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(err);\n return;\n }\n resolve();\n } catch (err) {\n this.err = err;\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(err);\n } finally {\n this.sem.leave();\n }\n });\n });\n }\n /**\n * Drains the buffer of filled document producers and appends their items to the main buffer.\n * Uses template method pattern - delegates actual processing to subclasses.\n * @returns A promise that resolves when the buffer is filled.\n */\n private async fillBufferFromBufferQueue(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.sem.take(async () => {\n if (this.err) {\n // if there is a prior error return error\n this.sem.leave();\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(this.err);\n return;\n }\n\n if (\n this.state === ParallelQueryExecutionContextBase.STATES.ended ||\n this.bufferedDocumentProducersQueue.size() === 0\n ) {\n this.sem.leave();\n resolve();\n return;\n }\n\n try {\n await this.processBufferedDocumentProducers();\n this.updateStates(this.err);\n } catch (err) {\n this.err = err;\n this.err.headers = this._getAndResetActiveResponseHeaders();\n reject(this.err);\n return;\n } finally {\n // release the lock before returning\n this.sem.leave();\n }\n resolve();\n return;\n });\n });\n }\n\n private updateStates(error: any): void {\n if (error) {\n this.err = error;\n this.state = ParallelQueryExecutionContextBase.STATES.ended;\n return;\n }\n\n if (this.state === ParallelQueryExecutionContextBase.STATES.started) {\n this.state = ParallelQueryExecutionContextBase.STATES.inProgress;\n }\n\n const hasNoActiveProducers =\n this.unfilledDocumentProducersQueue.size() === 0 &&\n this.bufferedDocumentProducersQueue.size() === 0;\n\n if (hasNoActiveProducers) {\n this.state = ParallelQueryExecutionContextBase.STATES.ended;\n }\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["ParallelQueryExecutionContextBaseStates", "PriorityQueue", "semaphore", "partitionDataPatchMap", "updatedContinuationRanges", "result"]
7
7
  }
@@ -35,3 +35,4 @@ function createParallelQueryResult(buffer, partitionKeyRangeMap, updatedContinua
35
35
  0 && (module.exports = {
36
36
  createParallelQueryResult
37
37
  });
38
+ //# sourceMappingURL=parallelQueryResult.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryResult.ts"],
3
+ "sources": ["../../../src/queryExecutionContext/parallelQueryResult.ts"],
4
4
  "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { QueryRangeMapping } from \"./queryRangeMapping.js\";\n\n/**\n * Represents an ORDER BY item with its associated document resource ID.\n * Used for tracking ORDER BY criteria and document identity in sorted query results.\n * @internal\n */\nexport interface OrderByItemWithRid {\n /**\n * The ORDER BY values for this document\n */\n orderByItems: any[];\n /**\n * The resource ID (_rid) of the document\n */\n _rid: string;\n}\n\n/**\n * Represents the result structure returned by parallel query execution contexts\n * @hidden\n */\nexport interface ParallelQueryResult {\n /**\n * The actual query result data (documents/items)\n */\n buffer: any[];\n\n /**\n * Mapping of partition key ranges used during query execution\n */\n partitionKeyRangeMap: Map<string, QueryRangeMapping>;\n\n /**\n * Updated continuation ranges after partition split/merge operations\n */\n updatedContinuationRanges?: Record<string, any>;\n\n /**\n * Optional array of orderBy items corresponding to each item in the buffer\n * Used for ORDER BY queries to track sorting criteria\n */\n orderByItems?: OrderByItemWithRid[];\n}\n\n/**\n * Creates a new ParallelQueryResult with the specified data\n * @param buffer - The query result data\n * @param partitionKeyRangeMap - Partition key range mappings\n * @param updatedContinuationRanges - Updated continuation ranges\n * @param orderByItems - Optional array of orderBy items for each buffer item\n * @returns A new ParallelQueryResult instance\n * @hidden\n */\nexport function createParallelQueryResult(\n buffer: any[],\n partitionKeyRangeMap: Map<string, QueryRangeMapping>,\n updatedContinuationRanges?: Record<string, any>,\n orderByItems?: OrderByItemWithRid[],\n): ParallelQueryResult {\n const result: ParallelQueryResult = {\n buffer,\n partitionKeyRangeMap,\n updatedContinuationRanges,\n };\n\n if (orderByItems !== undefined) {\n result.orderByItems = orderByItems;\n }\n return result;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDO,SAAS,0BACd,QACA,sBACA,2BACA,cACqB;AACrB,QAAM,SAA8B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,iBAAiB,QAAW;AAC9B,WAAO,eAAe;AAAA,EACxB;AACA,SAAO;AACT;",
6
6
  "names": []
@@ -98,6 +98,13 @@ class PipelinedQueryExecutionContext {
98
98
  this.fetchImplementation = new import_LegacyFetchImplementation.LegacyFetchImplementation(this.endpoint, pageSize);
99
99
  }
100
100
  }
101
+ clientContext;
102
+ collectionLink;
103
+ query;
104
+ options;
105
+ partitionedQueryExecutionInfo;
106
+ emitRawOrderByPayload;
107
+ supportsContinuationTokens;
101
108
  fetchBuffer;
102
109
  endpoint;
103
110
  fetchImplementation;
@@ -292,3 +299,4 @@ class PipelinedQueryExecutionContext {
292
299
  0 && (module.exports = {
293
300
  PipelinedQueryExecutionContext
294
301
  });
302
+ //# sourceMappingURL=pipelinedQueryExecutionContext.js.map