@azure/cosmos 4.8.0 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/common/constants.d.ts.map +1 -1
- package/dist/browser/common/constants.js +16 -1
- package/dist/browser/common/constants.js.map +1 -1
- package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
- package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
- package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
- package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
- package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
- package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
- package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
- package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
- package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
- package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
- package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
- package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
- package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
- package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
- package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
- package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
- package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
- package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
- package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
- package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
- package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
- package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
- package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
- package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
- package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
- package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
- package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
- package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
- package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
- package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
- package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
- package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
- package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
- package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
- package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
- package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
- package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
- package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
- package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
- package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
- package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
- package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
- package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
- package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
- package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
- package/dist/browser/queryExecutionContext/index.d.ts +7 -0
- package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/index.js +4 -0
- package/dist/browser/queryExecutionContext/index.js.map +1 -1
- package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
- package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
- package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
- package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
- package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
- package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
- package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
- package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
- package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
- package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
- package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
- package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
- package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
- package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
- package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
- package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
- package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
- package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
- package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
- package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
- package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
- package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
- package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
- package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
- package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
- package/dist/browser/queryIterator.js.map +1 -1
- package/dist/browser/utils/offers.d.ts.map +1 -1
- package/dist/browser/utils/offers.js +0 -1
- package/dist/browser/utils/offers.js.map +1 -1
- package/dist/commonjs/common/constants.d.ts.map +1 -1
- package/dist/commonjs/common/constants.js +13 -2
- package/dist/commonjs/common/constants.js.map +1 -1
- package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
- package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
- package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
- package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
- package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
- package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
- package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
- package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
- package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
- package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
- package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
- package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
- package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
- package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
- package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
- package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
- package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
- package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
- package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
- package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
- package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
- package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
- package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
- package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
- package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
- package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
- package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
- package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
- package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
- package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
- package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
- package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
- package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/index.js +10 -0
- package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
- package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
- package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
- package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
- package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
- package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
- package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
- package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
- package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
- package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
- package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
- package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
- package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
- package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
- package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
- package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
- package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
- package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
- package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
- package/dist/commonjs/queryIterator.js.map +1 -1
- package/dist/commonjs/utils/offers.d.ts.map +1 -1
- package/dist/commonjs/utils/offers.js +0 -1
- package/dist/commonjs/utils/offers.js.map +1 -1
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +16 -1
- package/dist/esm/common/constants.js.map +1 -1
- package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
- package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
- package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
- package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
- package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
- package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
- package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
- package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
- package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
- package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
- package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
- package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
- package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
- package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
- package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
- package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
- package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
- package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
- package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
- package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
- package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
- package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
- package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
- package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
- package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
- package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
- package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
- package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
- package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
- package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
- package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
- package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
- package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
- package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
- package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
- package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
- package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
- package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
- package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
- package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
- package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
- package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
- package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
- package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
- package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
- package/dist/esm/queryExecutionContext/index.d.ts +7 -0
- package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/index.js +4 -0
- package/dist/esm/queryExecutionContext/index.js.map +1 -1
- package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
- package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
- package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
- package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
- package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
- package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
- package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
- package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
- package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
- package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
- package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
- package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
- package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
- package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
- package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
- package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
- package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
- package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
- package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
- package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
- package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
- package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
- package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
- package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
- package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
- package/dist/esm/queryIterator.js.map +1 -1
- package/dist/esm/utils/offers.d.ts.map +1 -1
- package/dist/esm/utils/offers.js +0 -1
- package/dist/esm/utils/offers.js.map +1 -1
- package/dist/react-native/common/constants.d.ts.map +1 -1
- package/dist/react-native/common/constants.js +16 -1
- package/dist/react-native/common/constants.js.map +1 -1
- package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
- package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
- package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
- package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
- package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
- package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
- package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
- package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
- package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
- package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
- package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
- package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
- package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
- package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
- package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
- package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
- package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
- package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
- package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
- package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
- package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
- package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
- package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
- package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
- package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
- package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
- package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
- package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
- package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
- package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
- package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
- package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
- package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
- package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
- package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
- package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
- package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
- package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
- package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
- package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
- package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
- package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/index.js +4 -0
- package/dist/react-native/queryExecutionContext/index.js.map +1 -1
- package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
- package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
- package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
- package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
- package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
- package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
- package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
- package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
- package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
- package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
- package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
- package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
- package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
- package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
- package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
- package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
- package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
- package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
- package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
- package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
- package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
- package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
- package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
- package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
- package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
- package/dist/react-native/queryIterator.js.map +1 -1
- package/dist/react-native/utils/offers.d.ts.map +1 -1
- package/dist/react-native/utils/offers.js +0 -1
- package/dist/react-native/utils/offers.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.LegacyFetchImplementation = void 0;
|
|
6
|
+
const headerUtils_js_1 = require("./headerUtils.js");
|
|
7
|
+
/**
|
|
8
|
+
* Legacy fetch implementation for when enableQueryControl is false
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
class LegacyFetchImplementation {
|
|
12
|
+
endpoint;
|
|
13
|
+
pageSize;
|
|
14
|
+
constructor(endpoint, pageSize) {
|
|
15
|
+
this.endpoint = endpoint;
|
|
16
|
+
this.pageSize = pageSize;
|
|
17
|
+
}
|
|
18
|
+
async fetchMore(diagnosticNode, fetchBuffer) {
|
|
19
|
+
// Initialize headers fresh for each fetchMore call
|
|
20
|
+
const fetchMoreRespHeaders = (0, headerUtils_js_1.getInitialHeader)();
|
|
21
|
+
try {
|
|
22
|
+
// Keep fetching until we have enough items or no more results
|
|
23
|
+
while (fetchBuffer.length < this.pageSize && this.endpoint.hasMoreResults()) {
|
|
24
|
+
const response = await this.endpoint.fetchMore(diagnosticNode);
|
|
25
|
+
(0, headerUtils_js_1.mergeHeaders)(fetchMoreRespHeaders, response.headers);
|
|
26
|
+
if (!response ||
|
|
27
|
+
!response.result ||
|
|
28
|
+
!response.result.buffer ||
|
|
29
|
+
response.result.buffer.length === 0) {
|
|
30
|
+
if (fetchBuffer.length > 0) {
|
|
31
|
+
const copiedFetchBuffer = [...fetchBuffer];
|
|
32
|
+
fetchBuffer.length = 0; // Clear array in place
|
|
33
|
+
return { result: copiedFetchBuffer, headers: fetchMoreRespHeaders };
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return { result: undefined, headers: fetchMoreRespHeaders };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
fetchBuffer.push(...response.result.buffer);
|
|
40
|
+
}
|
|
41
|
+
// Return collected items up to pageSize
|
|
42
|
+
if (fetchBuffer.length > 0) {
|
|
43
|
+
const temp = fetchBuffer.slice(0, this.pageSize);
|
|
44
|
+
fetchBuffer.splice(0, this.pageSize); // Remove items in place
|
|
45
|
+
return { result: temp, headers: fetchMoreRespHeaders };
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return { result: undefined, headers: fetchMoreRespHeaders };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
(0, headerUtils_js_1.mergeHeaders)(fetchMoreRespHeaders, err.headers);
|
|
53
|
+
err.headers = fetchMoreRespHeaders;
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.LegacyFetchImplementation = LegacyFetchImplementation;
|
|
59
|
+
//# sourceMappingURL=LegacyFetchImplementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegacyFetchImplementation.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/LegacyFetchImplementation.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAIlC,qDAAkE;AAGlE;;;GAGG;AACH,MAAa,yBAAyB;IAE1B;IACA;IAFV,YACU,QAA0B,EAC1B,QAAgB;QADhB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,aAAQ,GAAR,QAAQ,CAAQ;IACvB,CAAC;IAEJ,KAAK,CAAC,SAAS,CACb,cAAsC,EACtC,WAAkB;QAElB,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,IAAA,iCAAgB,GAAE,CAAC;QAEhD,IAAI,CAAC;YACH,8DAA8D;YAC9D,OAAO,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,cAAc,CAAC,CAAC;gBAChE,IAAA,6BAAY,EAAC,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAErD,IACE,CAAC,QAAQ;oBACT,CAAC,QAAQ,CAAC,MAAM;oBAChB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;oBACvB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACnC,CAAC;oBACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,MAAM,iBAAiB,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;wBAC3C,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAuB;wBAC/C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,wCAAwC;YACxC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjD,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB;gBAC9D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAA,6BAAY,EAAC,oBAAoB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC;YACnC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAlDD,8DAkDC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Response } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { mergeHeaders, getInitialHeader } from \"./headerUtils.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\n\n/**\n * Legacy fetch implementation for when enableQueryControl is false\n * @hidden\n */\nexport class LegacyFetchImplementation {\n constructor(\n private endpoint: ExecutionContext,\n private pageSize: number,\n ) {}\n\n async fetchMore(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n ): Promise<Response<any>> {\n // Initialize headers fresh for each fetchMore call\n const fetchMoreRespHeaders = getInitialHeader();\n\n try {\n // Keep fetching until we have enough items or no more results\n while (fetchBuffer.length < this.pageSize && this.endpoint.hasMoreResults()) {\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (\n !response ||\n !response.result ||\n !response.result.buffer ||\n response.result.buffer.length === 0\n ) {\n if (fetchBuffer.length > 0) {\n const copiedFetchBuffer = [...fetchBuffer];\n fetchBuffer.length = 0; // Clear array in place\n return { result: copiedFetchBuffer, headers: fetchMoreRespHeaders };\n } else {\n return { result: undefined, headers: fetchMoreRespHeaders };\n }\n }\n fetchBuffer.push(...response.result.buffer);\n }\n\n // Return collected items up to pageSize\n if (fetchBuffer.length > 0) {\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove items in place\n return { result: temp, headers: fetchMoreRespHeaders };\n } else {\n return { result: undefined, headers: fetchMoreRespHeaders };\n }\n } catch (err: any) {\n mergeHeaders(fetchMoreRespHeaders, err.headers);\n err.headers = fetchMoreRespHeaders;\n throw err;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { QueryRangeWithContinuationToken } from "../documents/ContinuationToken/CompositeQueryContinuationToken.js";
|
|
2
|
+
import type { QueryRangeMapping } from "./queryRangeMapping.js";
|
|
3
|
+
/**
|
|
4
|
+
* Manages partition key range mappings for query execution.
|
|
5
|
+
* Handles range operations, offset/limit processing, and distinct query logic.
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export declare class PartitionRangeManager {
|
|
9
|
+
private partitionKeyRangeMap;
|
|
10
|
+
constructor(initialPartitionKeyRangeMap?: Map<string, QueryRangeMapping>);
|
|
11
|
+
/**
|
|
12
|
+
* Gets a copy of the current partition key range map for constructor pattern
|
|
13
|
+
*/
|
|
14
|
+
getPartitionKeyRangeMap(): Map<string, QueryRangeMapping>;
|
|
15
|
+
/**
|
|
16
|
+
* Checks if a continuation token indicates an exhausted partition
|
|
17
|
+
* @param continuationToken - The continuation token to check
|
|
18
|
+
* @returns true if the partition is exhausted (null, empty, or "null" string)
|
|
19
|
+
*/
|
|
20
|
+
private isPartitionExhausted;
|
|
21
|
+
/**
|
|
22
|
+
* Adds a range mapping to the partition key range map
|
|
23
|
+
* Does not allow updates to existing keys - only new additions
|
|
24
|
+
* @param rangeId - Unique identifier for the partition range
|
|
25
|
+
* @param mapping - The QueryRangeMapping to add
|
|
26
|
+
*/
|
|
27
|
+
private addPartitionRangeMapping;
|
|
28
|
+
/**
|
|
29
|
+
* Removes a range mapping from the partition key range map
|
|
30
|
+
*/
|
|
31
|
+
removePartitionRangeMapping(rangeId: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Updates the partition key range map with new mappings from the endpoint response
|
|
34
|
+
* @param partitionKeyRangeMap - Map of range IDs to QueryRangeMapping objects
|
|
35
|
+
*/
|
|
36
|
+
addPartitionKeyRangeMap(partitionKeyRangeMap: Map<string, QueryRangeMapping>): void;
|
|
37
|
+
/**
|
|
38
|
+
* Checks if there are any unprocessed ranges in the sliding window
|
|
39
|
+
*/
|
|
40
|
+
hasUnprocessedRanges(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Removes exhausted(fully drained) ranges from the given range mappings
|
|
43
|
+
* @param rangeMappings - Array of range mappings to filter
|
|
44
|
+
* @returns Filtered array without exhausted ranges
|
|
45
|
+
*/
|
|
46
|
+
removeExhaustedRanges(rangeMappings: QueryRangeMapping[]): QueryRangeMapping[];
|
|
47
|
+
/**
|
|
48
|
+
* Processes ranges for ORDER BY queries
|
|
49
|
+
*/
|
|
50
|
+
processOrderByRanges(pageSize: number): {
|
|
51
|
+
endIndex: number;
|
|
52
|
+
processedRanges: string[];
|
|
53
|
+
lastRangeBeforePageLimit: QueryRangeMapping | null;
|
|
54
|
+
};
|
|
55
|
+
processEmptyOrderByRanges(ranges: QueryRangeWithContinuationToken[]): {
|
|
56
|
+
endIndex: number;
|
|
57
|
+
processedRanges: string[];
|
|
58
|
+
lastRangeBeforePageLimit: QueryRangeMapping | undefined;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Processes ranges for parallel queries - multi-range aggregation
|
|
62
|
+
*/
|
|
63
|
+
processParallelRanges(pageSize: number): {
|
|
64
|
+
endIndex: number;
|
|
65
|
+
processedRanges: string[];
|
|
66
|
+
processedRangeMappings: QueryRangeMapping[];
|
|
67
|
+
lastPartitionBeforeCutoff?: {
|
|
68
|
+
rangeId: string;
|
|
69
|
+
mapping: QueryRangeMapping;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=PartitionRangeManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionRangeManager.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/PartitionRangeManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mEAAmE,CAAC;AACpH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,oBAAoB,CAA6C;gBAE7D,2BAA2B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAMxE;;OAEG;IACI,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAIhE;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACI,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzD;;;OAGG;IACI,uBAAuB,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,IAAI;IAQ1F;;OAEG;IACI,oBAAoB,IAAI,OAAO;IAItC;;;;OAIG;IACI,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IAkBrF;;OAEG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC7C,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,wBAAwB,EAAE,iBAAiB,GAAG,IAAI,CAAC;KACpD;IAqBM,yBAAyB,CAAC,MAAM,EAAE,+BAA+B,EAAE,GAAG;QAC3E,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,wBAAwB,EAAE,iBAAiB,GAAG,SAAS,CAAC;KACzD;IAsBD;;OAEG;IACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC9C,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;QAC5C,yBAAyB,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,iBAAiB,CAAA;SAAE,CAAC;KAC7E;CA4BF"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.PartitionRangeManager = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Manages partition key range mappings for query execution.
|
|
8
|
+
* Handles range operations, offset/limit processing, and distinct query logic.
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
class PartitionRangeManager {
|
|
12
|
+
partitionKeyRangeMap = new Map();
|
|
13
|
+
constructor(initialPartitionKeyRangeMap) {
|
|
14
|
+
if (initialPartitionKeyRangeMap) {
|
|
15
|
+
this.partitionKeyRangeMap = new Map(initialPartitionKeyRangeMap);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Gets a copy of the current partition key range map for constructor pattern
|
|
20
|
+
*/
|
|
21
|
+
getPartitionKeyRangeMap() {
|
|
22
|
+
return new Map(this.partitionKeyRangeMap);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Checks if a continuation token indicates an exhausted partition
|
|
26
|
+
* @param continuationToken - The continuation token to check
|
|
27
|
+
* @returns true if the partition is exhausted (null, empty, or "null" string)
|
|
28
|
+
*/
|
|
29
|
+
isPartitionExhausted(continuationToken) {
|
|
30
|
+
return (!continuationToken ||
|
|
31
|
+
continuationToken === "" ||
|
|
32
|
+
continuationToken === "null" ||
|
|
33
|
+
continuationToken.toLowerCase() === "null");
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Adds a range mapping to the partition key range map
|
|
37
|
+
* Does not allow updates to existing keys - only new additions
|
|
38
|
+
* @param rangeId - Unique identifier for the partition range
|
|
39
|
+
* @param mapping - The QueryRangeMapping to add
|
|
40
|
+
*/
|
|
41
|
+
addPartitionRangeMapping(rangeId, mapping) {
|
|
42
|
+
if (!this.partitionKeyRangeMap.has(rangeId)) {
|
|
43
|
+
this.partitionKeyRangeMap.set(rangeId, mapping);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Removes a range mapping from the partition key range map
|
|
48
|
+
*/
|
|
49
|
+
removePartitionRangeMapping(rangeId) {
|
|
50
|
+
this.partitionKeyRangeMap.delete(rangeId);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Updates the partition key range map with new mappings from the endpoint response
|
|
54
|
+
* @param partitionKeyRangeMap - Map of range IDs to QueryRangeMapping objects
|
|
55
|
+
*/
|
|
56
|
+
addPartitionKeyRangeMap(partitionKeyRangeMap) {
|
|
57
|
+
if (partitionKeyRangeMap) {
|
|
58
|
+
for (const [rangeId, mapping] of partitionKeyRangeMap) {
|
|
59
|
+
this.addPartitionRangeMapping(rangeId, mapping);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Checks if there are any unprocessed ranges in the sliding window
|
|
65
|
+
*/
|
|
66
|
+
hasUnprocessedRanges() {
|
|
67
|
+
return this.partitionKeyRangeMap.size > 0;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Removes exhausted(fully drained) ranges from the given range mappings
|
|
71
|
+
* @param rangeMappings - Array of range mappings to filter
|
|
72
|
+
* @returns Filtered array without exhausted ranges
|
|
73
|
+
*/
|
|
74
|
+
removeExhaustedRanges(rangeMappings) {
|
|
75
|
+
if (!rangeMappings || !Array.isArray(rangeMappings)) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
return rangeMappings.filter((mapping) => {
|
|
79
|
+
if (!mapping) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
const isExhausted = this.isPartitionExhausted(mapping.continuationToken);
|
|
83
|
+
if (isExhausted) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Processes ranges for ORDER BY queries
|
|
91
|
+
*/
|
|
92
|
+
processOrderByRanges(pageSize) {
|
|
93
|
+
let endIndex = 0;
|
|
94
|
+
const processedRanges = [];
|
|
95
|
+
let lastRangeBeforePageLimit = null;
|
|
96
|
+
let rangeIndex = 0;
|
|
97
|
+
for (const [rangeId, value] of this.partitionKeyRangeMap) {
|
|
98
|
+
rangeIndex++;
|
|
99
|
+
const { itemCount } = value;
|
|
100
|
+
// Check if this complete range fits within remaining page size capacity
|
|
101
|
+
if (endIndex + itemCount <= pageSize) {
|
|
102
|
+
lastRangeBeforePageLimit = value;
|
|
103
|
+
endIndex += itemCount;
|
|
104
|
+
processedRanges.push(rangeId);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { endIndex, processedRanges, lastRangeBeforePageLimit };
|
|
111
|
+
}
|
|
112
|
+
processEmptyOrderByRanges(ranges) {
|
|
113
|
+
const endIndex = 0;
|
|
114
|
+
const processedRanges = [];
|
|
115
|
+
let lastRangeBeforePageLimit;
|
|
116
|
+
// since there is no data returned add all the ids to processed ranges
|
|
117
|
+
for (const [rangeId, _] of this.partitionKeyRangeMap) {
|
|
118
|
+
processedRanges.push(rangeId);
|
|
119
|
+
}
|
|
120
|
+
// search for matching range in the map(min max value exact match) and return that as lastRangeBeforePageLimit
|
|
121
|
+
for (const [_, mapping] of this.partitionKeyRangeMap) {
|
|
122
|
+
if (mapping.partitionKeyRange.minInclusive === ranges[0].queryRange.min &&
|
|
123
|
+
mapping.partitionKeyRange.maxExclusive === ranges[0].queryRange.max) {
|
|
124
|
+
lastRangeBeforePageLimit = mapping;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return { endIndex, processedRanges, lastRangeBeforePageLimit };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Processes ranges for parallel queries - multi-range aggregation
|
|
132
|
+
*/
|
|
133
|
+
processParallelRanges(pageSize) {
|
|
134
|
+
let endIndex = 0;
|
|
135
|
+
const processedRanges = [];
|
|
136
|
+
const processedRangeMappings = [];
|
|
137
|
+
let rangesAggregatedInCurrentToken = 0;
|
|
138
|
+
let lastPartitionBeforeCutoff;
|
|
139
|
+
for (const [rangeId, value] of this.partitionKeyRangeMap) {
|
|
140
|
+
rangesAggregatedInCurrentToken++;
|
|
141
|
+
// Validate range data
|
|
142
|
+
if (!value || value.itemCount === undefined) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const { itemCount } = value;
|
|
146
|
+
if (endIndex + itemCount <= pageSize) {
|
|
147
|
+
lastPartitionBeforeCutoff = { rangeId, mapping: value };
|
|
148
|
+
endIndex += itemCount;
|
|
149
|
+
processedRanges.push(rangeId);
|
|
150
|
+
processedRangeMappings.push(value);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
break; // No more ranges can fit, exit loop
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return { endIndex, processedRanges, processedRangeMappings, lastPartitionBeforeCutoff };
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.PartitionRangeManager = PartitionRangeManager;
|
|
160
|
+
//# sourceMappingURL=PartitionRangeManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionRangeManager.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/PartitionRangeManager.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { QueryRangeWithContinuationToken } from \"../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type { QueryRangeMapping } from \"./queryRangeMapping.js\";\n\n/**\n * Manages partition key range mappings for query execution.\n * Handles range operations, offset/limit processing, and distinct query logic.\n * @hidden\n */\nexport class PartitionRangeManager {\n private partitionKeyRangeMap: Map<string, QueryRangeMapping> = new Map();\n\n constructor(initialPartitionKeyRangeMap?: Map<string, QueryRangeMapping>) {\n if (initialPartitionKeyRangeMap) {\n this.partitionKeyRangeMap = new Map(initialPartitionKeyRangeMap);\n }\n }\n\n /**\n * Gets a copy of the current partition key range map for constructor pattern\n */\n public getPartitionKeyRangeMap(): Map<string, QueryRangeMapping> {\n return new Map(this.partitionKeyRangeMap);\n }\n\n /**\n * Checks if a continuation token indicates an exhausted partition\n * @param continuationToken - The continuation token to check\n * @returns true if the partition is exhausted (null, empty, or \"null\" string)\n */\n private isPartitionExhausted(continuationToken: string | undefined): boolean {\n return (\n !continuationToken ||\n continuationToken === \"\" ||\n continuationToken === \"null\" ||\n continuationToken.toLowerCase() === \"null\"\n );\n }\n\n /**\n * Adds a range mapping to the partition key range map\n * Does not allow updates to existing keys - only new additions\n * @param rangeId - Unique identifier for the partition range\n * @param mapping - The QueryRangeMapping to add\n */\n private addPartitionRangeMapping(rangeId: string, mapping: QueryRangeMapping): void {\n if (!this.partitionKeyRangeMap.has(rangeId)) {\n this.partitionKeyRangeMap.set(rangeId, mapping);\n }\n }\n\n /**\n * Removes a range mapping from the partition key range map\n */\n public removePartitionRangeMapping(rangeId: string): void {\n this.partitionKeyRangeMap.delete(rangeId);\n }\n\n /**\n * Updates the partition key range map with new mappings from the endpoint response\n * @param partitionKeyRangeMap - Map of range IDs to QueryRangeMapping objects\n */\n public addPartitionKeyRangeMap(partitionKeyRangeMap: Map<string, QueryRangeMapping>): void {\n if (partitionKeyRangeMap) {\n for (const [rangeId, mapping] of partitionKeyRangeMap) {\n this.addPartitionRangeMapping(rangeId, mapping);\n }\n }\n }\n\n /**\n * Checks if there are any unprocessed ranges in the sliding window\n */\n public hasUnprocessedRanges(): boolean {\n return this.partitionKeyRangeMap.size > 0;\n }\n\n /**\n * Removes exhausted(fully drained) ranges from the given range mappings\n * @param rangeMappings - Array of range mappings to filter\n * @returns Filtered array without exhausted ranges\n */\n public removeExhaustedRanges(rangeMappings: QueryRangeMapping[]): QueryRangeMapping[] {\n if (!rangeMappings || !Array.isArray(rangeMappings)) {\n return [];\n }\n\n return rangeMappings.filter((mapping) => {\n if (!mapping) {\n return false;\n }\n const isExhausted = this.isPartitionExhausted(mapping.continuationToken);\n\n if (isExhausted) {\n return false;\n }\n return true;\n });\n }\n\n /**\n * Processes ranges for ORDER BY queries\n */\n public processOrderByRanges(pageSize: number): {\n endIndex: number;\n processedRanges: string[];\n lastRangeBeforePageLimit: QueryRangeMapping | null;\n } {\n let endIndex = 0;\n const processedRanges: string[] = [];\n let lastRangeBeforePageLimit: QueryRangeMapping | null = null;\n let rangeIndex = 0;\n for (const [rangeId, value] of this.partitionKeyRangeMap) {\n rangeIndex++;\n const { itemCount } = value;\n // Check if this complete range fits within remaining page size capacity\n if (endIndex + itemCount <= pageSize) {\n lastRangeBeforePageLimit = value;\n endIndex += itemCount;\n processedRanges.push(rangeId);\n } else {\n break;\n }\n }\n\n return { endIndex, processedRanges, lastRangeBeforePageLimit };\n }\n\n public processEmptyOrderByRanges(ranges: QueryRangeWithContinuationToken[]): {\n endIndex: number;\n processedRanges: string[];\n lastRangeBeforePageLimit: QueryRangeMapping | undefined;\n } {\n const endIndex = 0;\n const processedRanges: string[] = [];\n let lastRangeBeforePageLimit: QueryRangeMapping | undefined;\n\n // since there is no data returned add all the ids to processed ranges\n for (const [rangeId, _] of this.partitionKeyRangeMap) {\n processedRanges.push(rangeId);\n }\n // search for matching range in the map(min max value exact match) and return that as lastRangeBeforePageLimit\n for (const [_, mapping] of this.partitionKeyRangeMap) {\n if (\n mapping.partitionKeyRange!.minInclusive === ranges[0].queryRange.min &&\n mapping.partitionKeyRange!.maxExclusive === ranges[0].queryRange.max\n ) {\n lastRangeBeforePageLimit = mapping;\n break;\n }\n }\n\n return { endIndex, processedRanges, lastRangeBeforePageLimit };\n }\n /**\n * Processes ranges for parallel queries - multi-range aggregation\n */\n public processParallelRanges(pageSize: number): {\n endIndex: number;\n processedRanges: string[];\n processedRangeMappings: QueryRangeMapping[];\n lastPartitionBeforeCutoff?: { rangeId: string; mapping: QueryRangeMapping };\n } {\n let endIndex = 0;\n const processedRanges: string[] = [];\n const processedRangeMappings: QueryRangeMapping[] = [];\n let rangesAggregatedInCurrentToken = 0;\n let lastPartitionBeforeCutoff: { rangeId: string; mapping: QueryRangeMapping } | undefined;\n\n for (const [rangeId, value] of this.partitionKeyRangeMap) {\n rangesAggregatedInCurrentToken++;\n\n // Validate range data\n if (!value || value.itemCount === undefined) {\n continue;\n }\n\n const { itemCount } = value;\n if (endIndex + itemCount <= pageSize) {\n lastPartitionBeforeCutoff = { rangeId, mapping: value };\n endIndex += itemCount;\n processedRanges.push(rangeId);\n processedRangeMappings.push(value);\n } else {\n break; // No more ranges can fit, exit loop\n }\n }\n\n return { endIndex, processedRanges, processedRangeMappings, lastPartitionBeforeCutoff };\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates offset/limit values after consuming each partition range sequentially
|
|
3
|
+
* @param partitionKeyRangeMap - Map of range IDs to range mappings
|
|
4
|
+
* @param initialOffset - Initial offset value
|
|
5
|
+
* @param initialLimit - Initial limit value
|
|
6
|
+
* @returns Updated partition key range map with calculated offset/limit values and updated itemCount
|
|
7
|
+
* @hidden
|
|
8
|
+
*/
|
|
9
|
+
export declare function calculateOffsetLimitForPartitionRanges(partitionKeyRangeMap: Map<string, any>, initialOffset: number, initialLimit: number): Map<string, any>;
|
|
10
|
+
/**
|
|
11
|
+
* Processes distinct query logic and updates partition key range map with hashedLastResult
|
|
12
|
+
* @param originalBuffer - Original buffer containing query results
|
|
13
|
+
* @param partitionKeyRangeMap - Map of partition key ranges
|
|
14
|
+
* @param hashFunction - Hash function for items
|
|
15
|
+
* @returns Updated partition key range map with hashedLastResult for each range
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
export declare function processDistinctQueryAndUpdateRangeMap(originalBuffer: any[], partitionKeyRangeMap: Map<string, any>, hashFunction: (item: any) => Promise<string>): Promise<Map<string, any>>;
|
|
19
|
+
//# sourceMappingURL=PartitionRangeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionRangeUtils.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/PartitionRangeUtils.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,sCAAsC,CACpD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACtC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAiElB;AAED;;;;;;;GAOG;AACH,wBAAsB,qCAAqC,CACzD,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACtC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA8B3B"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.calculateOffsetLimitForPartitionRanges = calculateOffsetLimitForPartitionRanges;
|
|
6
|
+
exports.processDistinctQueryAndUpdateRangeMap = processDistinctQueryAndUpdateRangeMap;
|
|
7
|
+
/**
|
|
8
|
+
* Calculates offset/limit values after consuming each partition range sequentially
|
|
9
|
+
* @param partitionKeyRangeMap - Map of range IDs to range mappings
|
|
10
|
+
* @param initialOffset - Initial offset value
|
|
11
|
+
* @param initialLimit - Initial limit value
|
|
12
|
+
* @returns Updated partition key range map with calculated offset/limit values and updated itemCount
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
function calculateOffsetLimitForPartitionRanges(partitionKeyRangeMap, initialOffset, initialLimit) {
|
|
16
|
+
if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {
|
|
17
|
+
return partitionKeyRangeMap;
|
|
18
|
+
}
|
|
19
|
+
const updatedMap = new Map();
|
|
20
|
+
let currentOffset = initialOffset;
|
|
21
|
+
let currentLimit = initialLimit;
|
|
22
|
+
for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {
|
|
23
|
+
const { itemCount } = rangeMapping;
|
|
24
|
+
let offsetAfterThisRange = currentOffset;
|
|
25
|
+
let limitAfterThisRange = currentLimit;
|
|
26
|
+
let updatedItemCount = itemCount;
|
|
27
|
+
if (itemCount > 0) {
|
|
28
|
+
if (currentOffset > 0) {
|
|
29
|
+
// Calculate how much offset this range consumes
|
|
30
|
+
const offsetConsumption = Math.min(currentOffset, itemCount);
|
|
31
|
+
offsetAfterThisRange = currentOffset - offsetConsumption;
|
|
32
|
+
// Calculate remaining items after offset consumption
|
|
33
|
+
const remainingItems = itemCount - offsetConsumption;
|
|
34
|
+
if (remainingItems > 0 && currentLimit > 0) {
|
|
35
|
+
// Apply limit to remaining items
|
|
36
|
+
const limitConsumption = Math.min(currentLimit, remainingItems);
|
|
37
|
+
limitAfterThisRange = currentLimit - limitConsumption;
|
|
38
|
+
// Update item count to reflect actual items that will be returned from this range
|
|
39
|
+
updatedItemCount = limitConsumption;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// No items left after offset, or no limit remaining
|
|
43
|
+
updatedItemCount = 0;
|
|
44
|
+
limitAfterThisRange = currentLimit;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (currentLimit > 0) {
|
|
48
|
+
// No offset, but limit applies
|
|
49
|
+
const limitConsumption = Math.min(currentLimit, itemCount);
|
|
50
|
+
limitAfterThisRange = currentLimit - limitConsumption;
|
|
51
|
+
offsetAfterThisRange = 0;
|
|
52
|
+
// Update item count to reflect actual items that will be returned from this range
|
|
53
|
+
updatedItemCount = limitConsumption;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// No limit remaining - this range contributes 0 items
|
|
57
|
+
updatedItemCount = 0;
|
|
58
|
+
}
|
|
59
|
+
// Update running totals for next iteration
|
|
60
|
+
currentOffset = offsetAfterThisRange;
|
|
61
|
+
currentLimit = limitAfterThisRange;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Range has no items to begin with
|
|
65
|
+
updatedItemCount = 0;
|
|
66
|
+
}
|
|
67
|
+
updatedMap.set(rangeId, {
|
|
68
|
+
...rangeMapping,
|
|
69
|
+
offset: offsetAfterThisRange,
|
|
70
|
+
limit: limitAfterThisRange,
|
|
71
|
+
itemCount: updatedItemCount,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return updatedMap;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Processes distinct query logic and updates partition key range map with hashedLastResult
|
|
78
|
+
* @param originalBuffer - Original buffer containing query results
|
|
79
|
+
* @param partitionKeyRangeMap - Map of partition key ranges
|
|
80
|
+
* @param hashFunction - Hash function for items
|
|
81
|
+
* @returns Updated partition key range map with hashedLastResult for each range
|
|
82
|
+
* @hidden
|
|
83
|
+
*/
|
|
84
|
+
async function processDistinctQueryAndUpdateRangeMap(originalBuffer, partitionKeyRangeMap, hashFunction) {
|
|
85
|
+
if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {
|
|
86
|
+
return partitionKeyRangeMap;
|
|
87
|
+
}
|
|
88
|
+
const updatedMap = new Map();
|
|
89
|
+
let bufferIndex = 0;
|
|
90
|
+
for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {
|
|
91
|
+
const { itemCount } = rangeMapping;
|
|
92
|
+
let lastHashForThisRange;
|
|
93
|
+
if (itemCount > 0 && bufferIndex <= originalBuffer.length) {
|
|
94
|
+
const rangeEndIndex = Math.min(bufferIndex + itemCount, originalBuffer.length);
|
|
95
|
+
const lastItemIndex = rangeEndIndex - 1;
|
|
96
|
+
const lastItem = originalBuffer[lastItemIndex];
|
|
97
|
+
if (lastItem) {
|
|
98
|
+
lastHashForThisRange = await hashFunction(lastItem);
|
|
99
|
+
}
|
|
100
|
+
bufferIndex = rangeEndIndex;
|
|
101
|
+
}
|
|
102
|
+
updatedMap.set(rangeId, {
|
|
103
|
+
...rangeMapping,
|
|
104
|
+
hashedLastResult: lastHashForThisRange,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return updatedMap;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=PartitionRangeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionRangeUtils.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/PartitionRangeUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Calculates offset/limit values after consuming each partition range sequentially\n * @param partitionKeyRangeMap - Map of range IDs to range mappings\n * @param initialOffset - Initial offset value\n * @param initialLimit - Initial limit value\n * @returns Updated partition key range map with calculated offset/limit values and updated itemCount\n * @hidden\n */\nexport function calculateOffsetLimitForPartitionRanges(\n partitionKeyRangeMap: Map<string, any>,\n initialOffset: number,\n initialLimit: number,\n): Map<string, any> {\n if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {\n return partitionKeyRangeMap;\n }\n\n const updatedMap = new Map<string, any>();\n let currentOffset = initialOffset;\n let currentLimit = initialLimit;\n\n for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {\n const { itemCount } = rangeMapping;\n\n let offsetAfterThisRange = currentOffset;\n let limitAfterThisRange = currentLimit;\n let updatedItemCount = itemCount;\n\n if (itemCount > 0) {\n if (currentOffset > 0) {\n // Calculate how much offset this range consumes\n const offsetConsumption = Math.min(currentOffset, itemCount);\n offsetAfterThisRange = currentOffset - offsetConsumption;\n\n // Calculate remaining items after offset consumption\n const remainingItems = itemCount - offsetConsumption;\n\n if (remainingItems > 0 && currentLimit > 0) {\n // Apply limit to remaining items\n const limitConsumption = Math.min(currentLimit, remainingItems);\n limitAfterThisRange = currentLimit - limitConsumption;\n // Update item count to reflect actual items that will be returned from this range\n updatedItemCount = limitConsumption;\n } else {\n // No items left after offset, or no limit remaining\n updatedItemCount = 0;\n limitAfterThisRange = currentLimit;\n }\n } else if (currentLimit > 0) {\n // No offset, but limit applies\n const limitConsumption = Math.min(currentLimit, itemCount);\n limitAfterThisRange = currentLimit - limitConsumption;\n offsetAfterThisRange = 0;\n // Update item count to reflect actual items that will be returned from this range\n updatedItemCount = limitConsumption;\n } else {\n // No limit remaining - this range contributes 0 items\n updatedItemCount = 0;\n }\n\n // Update running totals for next iteration\n currentOffset = offsetAfterThisRange;\n currentLimit = limitAfterThisRange;\n } else {\n // Range has no items to begin with\n updatedItemCount = 0;\n }\n\n updatedMap.set(rangeId, {\n ...rangeMapping,\n offset: offsetAfterThisRange,\n limit: limitAfterThisRange,\n itemCount: updatedItemCount,\n });\n }\n\n return updatedMap;\n}\n\n/**\n * Processes distinct query logic and updates partition key range map with hashedLastResult\n * @param originalBuffer - Original buffer containing query results\n * @param partitionKeyRangeMap - Map of partition key ranges\n * @param hashFunction - Hash function for items\n * @returns Updated partition key range map with hashedLastResult for each range\n * @hidden\n */\nexport async function processDistinctQueryAndUpdateRangeMap(\n originalBuffer: any[],\n partitionKeyRangeMap: Map<string, any>,\n hashFunction: (item: any) => Promise<string>,\n): Promise<Map<string, any>> {\n if (!partitionKeyRangeMap || partitionKeyRangeMap.size === 0) {\n return partitionKeyRangeMap;\n }\n\n const updatedMap = new Map<string, any>();\n let bufferIndex = 0;\n\n for (const [rangeId, rangeMapping] of partitionKeyRangeMap) {\n const { itemCount } = rangeMapping;\n\n let lastHashForThisRange: string | undefined;\n if (itemCount > 0 && bufferIndex <= originalBuffer.length) {\n const rangeEndIndex = Math.min(bufferIndex + itemCount, originalBuffer.length);\n const lastItemIndex = rangeEndIndex - 1;\n\n const lastItem = originalBuffer[lastItemIndex];\n if (lastItem) {\n lastHashForThisRange = await hashFunction(lastItem);\n }\n bufferIndex = rangeEndIndex;\n }\n\n updatedMap.set(rangeId, {\n ...rangeMapping,\n hashedLastResult: lastHashForThisRange,\n });\n }\n\n return updatedMap;\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Response } from "../request/index.js";
|
|
2
|
+
import type { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
|
|
3
|
+
import type { ExecutionContext } from "./ExecutionContext.js";
|
|
4
|
+
/**
|
|
5
|
+
* Query control enabled fetch implementation with continuation token support
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export declare class QueryControlFetchImplementation {
|
|
9
|
+
private endpoint;
|
|
10
|
+
private pageSize;
|
|
11
|
+
private readonly continuationTokenManager;
|
|
12
|
+
private readonly querySupportsTokens;
|
|
13
|
+
constructor(endpoint: ExecutionContext, pageSize: number, collectionLink: string, continuationToken: string | undefined, isOrderByQuery: boolean, querySupportsTokens: boolean);
|
|
14
|
+
fetchMore(diagnosticNode: DiagnosticNodeInternal, fetchBuffer: any[]): Promise<Response<any>>;
|
|
15
|
+
private _handleSimpleBufferFetch;
|
|
16
|
+
private _handleQueryFetch;
|
|
17
|
+
private _setContinuationTokenInHeaders;
|
|
18
|
+
private _createEmptyResult;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=QueryControlFetchImplementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryControlFetchImplementation.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryControlFetchImplementation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAKvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,+BAA+B;IAMxC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+B;IACxE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAGpC,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,cAAc,EAAE,OAAO,EACvB,mBAAmB,EAAE,OAAO;IAYxB,SAAS,CACb,cAAc,EAAE,sBAAsB,EACtC,WAAW,EAAE,GAAG,EAAE,GACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAaX,wBAAwB;YA6BxB,iBAAiB;IA8C/B,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,kBAAkB;CAI3B"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.QueryControlFetchImplementation = void 0;
|
|
6
|
+
const headerUtils_js_1 = require("./headerUtils.js");
|
|
7
|
+
const ContinuationTokenManagerFactory_js_1 = require("./ContinuationTokenManager/ContinuationTokenManagerFactory.js");
|
|
8
|
+
const index_js_1 = require("../common/index.js");
|
|
9
|
+
/**
|
|
10
|
+
* Query control enabled fetch implementation with continuation token support
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
13
|
+
class QueryControlFetchImplementation {
|
|
14
|
+
endpoint;
|
|
15
|
+
pageSize;
|
|
16
|
+
// Required fields for query control - not optional
|
|
17
|
+
continuationTokenManager;
|
|
18
|
+
querySupportsTokens;
|
|
19
|
+
constructor(endpoint, pageSize, collectionLink, continuationToken, isOrderByQuery, querySupportsTokens) {
|
|
20
|
+
this.endpoint = endpoint;
|
|
21
|
+
this.pageSize = pageSize;
|
|
22
|
+
this.querySupportsTokens = querySupportsTokens;
|
|
23
|
+
// Initialize continuation token manager immediately for query control
|
|
24
|
+
this.continuationTokenManager = ContinuationTokenManagerFactory_js_1.ContinuationTokenManagerFactory.create(collectionLink, continuationToken, isOrderByQuery);
|
|
25
|
+
}
|
|
26
|
+
async fetchMore(diagnosticNode, fetchBuffer) {
|
|
27
|
+
// Initialize headers fresh for each fetchMore call
|
|
28
|
+
const fetchMoreRespHeaders = (0, headerUtils_js_1.getInitialHeader)();
|
|
29
|
+
// Use continuation token logic for supported queries when query control is enabled
|
|
30
|
+
// Otherwise use simplified buffer-only logic
|
|
31
|
+
if (this.querySupportsTokens) {
|
|
32
|
+
return this._handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return this._handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async _handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders) {
|
|
39
|
+
// Return buffered data if available
|
|
40
|
+
if (fetchBuffer.length > 0) {
|
|
41
|
+
const temp = fetchBuffer.slice(0, this.pageSize);
|
|
42
|
+
fetchBuffer.splice(0, this.pageSize); // Remove items in place
|
|
43
|
+
return { result: temp, headers: fetchMoreRespHeaders };
|
|
44
|
+
}
|
|
45
|
+
// Fetch new data from endpoint
|
|
46
|
+
const response = await this.endpoint.fetchMore(diagnosticNode);
|
|
47
|
+
(0, headerUtils_js_1.mergeHeaders)(fetchMoreRespHeaders, response.headers);
|
|
48
|
+
if (!response?.result?.buffer?.length) {
|
|
49
|
+
return this._createEmptyResult(response?.headers);
|
|
50
|
+
}
|
|
51
|
+
// Buffer new data and return up to pageSize
|
|
52
|
+
fetchBuffer.length = 0; // Clear existing items
|
|
53
|
+
fetchBuffer.push(...response.result.buffer); // Add new items
|
|
54
|
+
const temp = fetchBuffer.slice(0, this.pageSize);
|
|
55
|
+
fetchBuffer.splice(0, this.pageSize); // Remove returned items in place
|
|
56
|
+
return { result: temp, headers: fetchMoreRespHeaders };
|
|
57
|
+
}
|
|
58
|
+
async _handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders) {
|
|
59
|
+
if (fetchBuffer.length > 0) {
|
|
60
|
+
const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(this.pageSize, false);
|
|
61
|
+
const temp = fetchBuffer.slice(0, endIndex);
|
|
62
|
+
fetchBuffer.splice(0, endIndex); // Remove returned items in place
|
|
63
|
+
this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);
|
|
64
|
+
return { result: temp, headers: fetchMoreRespHeaders };
|
|
65
|
+
}
|
|
66
|
+
// Fetch new data from endpoint
|
|
67
|
+
fetchBuffer.length = 0; // Clear existing items in place
|
|
68
|
+
const response = await this.endpoint.fetchMore(diagnosticNode);
|
|
69
|
+
(0, headerUtils_js_1.mergeHeaders)(fetchMoreRespHeaders, response.headers);
|
|
70
|
+
if (!response?.result?.buffer || response.result.buffer.length === 0) {
|
|
71
|
+
const { continuationToken } = this.continuationTokenManager.paginateResults(this.pageSize, true, // isResponseEmpty = true
|
|
72
|
+
response?.result);
|
|
73
|
+
this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);
|
|
74
|
+
return this._createEmptyResult(fetchMoreRespHeaders);
|
|
75
|
+
}
|
|
76
|
+
fetchBuffer.push(...response.result.buffer); // Add new items to existing buffer
|
|
77
|
+
const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(this.pageSize, false, // isResponseEmpty = false
|
|
78
|
+
response.result);
|
|
79
|
+
const temp = fetchBuffer.slice(0, endIndex);
|
|
80
|
+
fetchBuffer.splice(0, endIndex); // Remove returned items in place
|
|
81
|
+
this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);
|
|
82
|
+
return { result: temp, headers: fetchMoreRespHeaders };
|
|
83
|
+
}
|
|
84
|
+
_setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders) {
|
|
85
|
+
if (continuationToken) {
|
|
86
|
+
Object.assign(fetchMoreRespHeaders, {
|
|
87
|
+
[index_js_1.Constants.HttpHeaders.Continuation]: continuationToken,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
_createEmptyResult(headers) {
|
|
92
|
+
const hdrs = headers || (0, headerUtils_js_1.getInitialHeader)();
|
|
93
|
+
return { result: [], headers: hdrs };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.QueryControlFetchImplementation = QueryControlFetchImplementation;
|
|
97
|
+
//# sourceMappingURL=QueryControlFetchImplementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryControlFetchImplementation.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryControlFetchImplementation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Response } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { mergeHeaders, getInitialHeader } from \"./headerUtils.js\";\nimport type { BaseContinuationTokenManager } from \"./ContinuationTokenManager/BaseContinuationTokenManager.js\";\nimport { ContinuationTokenManagerFactory } from \"./ContinuationTokenManager/ContinuationTokenManagerFactory.js\";\nimport { Constants } from \"../common/index.js\";\nimport type { ExecutionContext } from \"./ExecutionContext.js\";\n\n/**\n * Query control enabled fetch implementation with continuation token support\n * @hidden\n */\nexport class QueryControlFetchImplementation {\n // Required fields for query control - not optional\n private readonly continuationTokenManager: BaseContinuationTokenManager;\n private readonly querySupportsTokens: boolean;\n\n constructor(\n private endpoint: ExecutionContext,\n private pageSize: number,\n collectionLink: string,\n continuationToken: string | undefined,\n isOrderByQuery: boolean,\n querySupportsTokens: boolean,\n ) {\n this.querySupportsTokens = querySupportsTokens;\n\n // Initialize continuation token manager immediately for query control\n this.continuationTokenManager = ContinuationTokenManagerFactory.create(\n collectionLink,\n continuationToken,\n isOrderByQuery,\n );\n }\n\n async fetchMore(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n ): Promise<Response<any>> {\n // Initialize headers fresh for each fetchMore call\n const fetchMoreRespHeaders = getInitialHeader();\n\n // Use continuation token logic for supported queries when query control is enabled\n // Otherwise use simplified buffer-only logic\n if (this.querySupportsTokens) {\n return this._handleQueryFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);\n } else {\n return this._handleSimpleBufferFetch(diagnosticNode, fetchBuffer, fetchMoreRespHeaders);\n }\n }\n\n private async _handleSimpleBufferFetch(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n fetchMoreRespHeaders: Record<string, any>,\n ): Promise<Response<any>> {\n // Return buffered data if available\n if (fetchBuffer.length > 0) {\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove items in place\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n // Fetch new data from endpoint\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (!response?.result?.buffer?.length) {\n return this._createEmptyResult(response?.headers);\n }\n\n // Buffer new data and return up to pageSize\n fetchBuffer.length = 0; // Clear existing items\n fetchBuffer.push(...response.result.buffer); // Add new items\n const temp = fetchBuffer.slice(0, this.pageSize);\n fetchBuffer.splice(0, this.pageSize); // Remove returned items in place\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n private async _handleQueryFetch(\n diagnosticNode: DiagnosticNodeInternal,\n fetchBuffer: any[],\n fetchMoreRespHeaders: Record<string, any>,\n ): Promise<Response<any>> {\n if (fetchBuffer.length > 0) {\n const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n false,\n );\n const temp = fetchBuffer.slice(0, endIndex);\n fetchBuffer.splice(0, endIndex); // Remove returned items in place\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n // Fetch new data from endpoint\n fetchBuffer.length = 0; // Clear existing items in place\n const response = await this.endpoint.fetchMore!(diagnosticNode);\n mergeHeaders(fetchMoreRespHeaders, response.headers);\n\n if (!response?.result?.buffer || response.result.buffer.length === 0) {\n const { continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n true, // isResponseEmpty = true\n response?.result, // Pass response data for processing\n );\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n return this._createEmptyResult(fetchMoreRespHeaders);\n }\n\n fetchBuffer.push(...response.result.buffer); // Add new items to existing buffer\n const { endIndex, continuationToken } = this.continuationTokenManager.paginateResults(\n this.pageSize,\n false, // isResponseEmpty = false\n response.result, // Pass response data for processing\n );\n\n const temp = fetchBuffer.slice(0, endIndex);\n fetchBuffer.splice(0, endIndex); // Remove returned items in place\n this._setContinuationTokenInHeaders(continuationToken, fetchMoreRespHeaders);\n\n return { result: temp, headers: fetchMoreRespHeaders };\n }\n\n private _setContinuationTokenInHeaders(\n continuationToken: string | undefined,\n fetchMoreRespHeaders: Record<string, any>,\n ): void {\n if (continuationToken) {\n Object.assign(fetchMoreRespHeaders, {\n [Constants.HttpHeaders.Continuation]: continuationToken,\n });\n }\n }\n\n private _createEmptyResult(headers?: any): Response<any> {\n const hdrs = headers || getInitialHeader();\n return { result: [], headers: hdrs };\n }\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rejects continuation token usage for unsupported query types
|
|
3
|
+
* @param continuationToken - The continuation token if provided
|
|
4
|
+
* @param unsupportedQueryTypes - Array of query types that don't support continuation tokens
|
|
5
|
+
* @throws ErrorResponse if continuation token is provided for any unsupported query type
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export declare function rejectContinuationTokenForUnsupportedQueries(continuationToken: string | undefined, unsupportedQueryTypes: UnsupportedQueryType[]): void;
|
|
9
|
+
//# sourceMappingURL=QueryValidationHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryValidationHelper.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/QueryValidationHelper.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAC1D,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,qBAAqB,EAAE,oBAAoB,EAAE,GAC5C,IAAI,CAWN"}
|