@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
package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { parseBaseContinuationToken, } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
|
|
4
|
+
import { PartitionRangeManager } from "../PartitionRangeManager.js";
|
|
5
|
+
/**
|
|
6
|
+
* Base abstract class for continuation token management.
|
|
7
|
+
* Provides common functionality shared between parallel and ORDER BY query token managers.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export class BaseContinuationTokenManager {
|
|
11
|
+
ranges = [];
|
|
12
|
+
partitionRangeManager = new PartitionRangeManager();
|
|
13
|
+
constructor(initialContinuationToken) {
|
|
14
|
+
if (initialContinuationToken) {
|
|
15
|
+
const token = parseBaseContinuationToken(initialContinuationToken);
|
|
16
|
+
if (token?.rangeMappings) {
|
|
17
|
+
this.ranges = token.rangeMappings;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Provides controlled access to partition range manager for subclasses.
|
|
23
|
+
* This is the only protected access point needed.
|
|
24
|
+
*/
|
|
25
|
+
get partitionManager() {
|
|
26
|
+
return this.partitionRangeManager;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Provides controlled access to ranges for subclasses.
|
|
30
|
+
* Made protected to allow subclass range management.
|
|
31
|
+
*/
|
|
32
|
+
get rangeList() {
|
|
33
|
+
return this.ranges;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Processes query results and generates continuation tokens for pagination.
|
|
37
|
+
* Handles response data processing, range management, and token generation.
|
|
38
|
+
*
|
|
39
|
+
* @param pageSize - Maximum number of items to return in this page
|
|
40
|
+
* @param isResponseEmpty - Whether the current response contains no data
|
|
41
|
+
* @param responseResult - Optional response data containing partition mappings and query-specific data
|
|
42
|
+
* @returns Object containing the end index for slicing results and optional continuation token for next page
|
|
43
|
+
*/
|
|
44
|
+
paginateResults(pageSize, isResponseEmpty, responseResult) {
|
|
45
|
+
// Process response data
|
|
46
|
+
if (responseResult) {
|
|
47
|
+
this.processResponseResult(responseResult);
|
|
48
|
+
}
|
|
49
|
+
this.removeExhaustedRangesFromRanges();
|
|
50
|
+
const result = this.processRangesForPagination(pageSize, isResponseEmpty);
|
|
51
|
+
const tokenString = this.generateContinuationTokenString();
|
|
52
|
+
// Clean up processed ranges
|
|
53
|
+
this.trimProcessedData(result.processedRanges, result.endIndex);
|
|
54
|
+
return {
|
|
55
|
+
endIndex: result.endIndex,
|
|
56
|
+
continuationToken: tokenString,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Generates continuation token string using the appropriate serialization function.
|
|
61
|
+
* This provides a common implementation that delegates to query-specific logic.
|
|
62
|
+
*/
|
|
63
|
+
generateContinuationTokenString() {
|
|
64
|
+
const token = this.getCurrentContinuationToken();
|
|
65
|
+
if (!token) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
const serializeFunction = this.getSerializationFunction();
|
|
69
|
+
return serializeFunction(token);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Cleans up processed data after a page has been returned.
|
|
73
|
+
* Handles both common and query-specific cleanup.
|
|
74
|
+
*/
|
|
75
|
+
trimProcessedData(processedRanges, endIndex) {
|
|
76
|
+
processedRanges.forEach((rangeId) => {
|
|
77
|
+
this.partitionRangeManager.removePartitionRangeMapping(rangeId);
|
|
78
|
+
});
|
|
79
|
+
// Delegate query-specific cleanup to subclass
|
|
80
|
+
this.performQuerySpecificDataTrim(processedRanges, endIndex);
|
|
81
|
+
}
|
|
82
|
+
addPartitionKeyRangeMap(partitionKeyRangeMap) {
|
|
83
|
+
this.partitionRangeManager.addPartitionKeyRangeMap(partitionKeyRangeMap);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Processes the entire response result and updates the continuation token manager state.
|
|
87
|
+
* This encapsulates all response handling logic in one place.
|
|
88
|
+
*/
|
|
89
|
+
processResponseResult(responseResult) {
|
|
90
|
+
// Handle partition key range map
|
|
91
|
+
if (responseResult.partitionKeyRangeMap) {
|
|
92
|
+
this.addPartitionKeyRangeMap(responseResult.partitionKeyRangeMap);
|
|
93
|
+
}
|
|
94
|
+
// Handle partition range updates
|
|
95
|
+
if (responseResult.updatedContinuationRanges) {
|
|
96
|
+
this.handlePartitionRangeChanges(responseResult.updatedContinuationRanges);
|
|
97
|
+
}
|
|
98
|
+
this.processQuerySpecificResponse(responseResult);
|
|
99
|
+
}
|
|
100
|
+
isPartitionExhausted(continuationToken) {
|
|
101
|
+
return (!continuationToken ||
|
|
102
|
+
continuationToken === "" ||
|
|
103
|
+
continuationToken === "null" ||
|
|
104
|
+
continuationToken.toLowerCase() === "null");
|
|
105
|
+
}
|
|
106
|
+
removeExhaustedRangesFromRanges() {
|
|
107
|
+
if (!this.ranges || !Array.isArray(this.ranges)) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.ranges = this.ranges.filter((mapping) => {
|
|
111
|
+
if (!mapping) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const isExhausted = this.isPartitionExhausted(mapping.continuationToken);
|
|
115
|
+
return !isExhausted;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
handlePartitionRangeChanges(updatedContinuationRanges) {
|
|
119
|
+
if (updatedContinuationRanges && Object.keys(updatedContinuationRanges).length === 0) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
Object.entries(updatedContinuationRanges).forEach(([rangeKey, rangeChange]) => {
|
|
123
|
+
this.processRangeChange(rangeKey, rangeChange);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
processRangeChange(_rangeKey, rangeChange) {
|
|
127
|
+
const { oldRange, newRanges, continuationToken } = rangeChange;
|
|
128
|
+
if (newRanges.length === 1) {
|
|
129
|
+
this.handleRangeMerge(oldRange, newRanges[0], continuationToken);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.handleRangeSplit(oldRange, newRanges, continuationToken);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
handleRangeMerge(oldRange, newRange, continuationToken) {
|
|
136
|
+
// Find existing range mapping to update in the common ranges array
|
|
137
|
+
const existingMappingIndex = this.ranges.findIndex((mapping) => mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max);
|
|
138
|
+
if (existingMappingIndex < 0) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// Update existing mapping with new range properties
|
|
142
|
+
const existingMapping = this.ranges[existingMappingIndex];
|
|
143
|
+
// Create new simplified QueryRange with updated boundaries
|
|
144
|
+
const updatedQueryRange = {
|
|
145
|
+
min: newRange.min,
|
|
146
|
+
max: newRange.max,
|
|
147
|
+
};
|
|
148
|
+
// Update the mapping
|
|
149
|
+
existingMapping.queryRange = updatedQueryRange;
|
|
150
|
+
existingMapping.continuationToken = continuationToken;
|
|
151
|
+
}
|
|
152
|
+
handleRangeSplit(oldRange, newRanges, continuationToken) {
|
|
153
|
+
// Remove the old range mapping from the common ranges array
|
|
154
|
+
this.ranges = this.ranges.filter((mapping) => !(mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max));
|
|
155
|
+
// Add new range mappings for each split range
|
|
156
|
+
newRanges.forEach((newRange) => {
|
|
157
|
+
this.createNewRangeMapping(newRange, continuationToken);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
createNewRangeMapping(partitionKeyRange, continuationToken) {
|
|
161
|
+
// Create new simplified QueryRange
|
|
162
|
+
const queryRange = {
|
|
163
|
+
min: partitionKeyRange.min,
|
|
164
|
+
max: partitionKeyRange.max,
|
|
165
|
+
};
|
|
166
|
+
// Create new QueryRangeWithContinuationToken
|
|
167
|
+
const newRangeWithToken = {
|
|
168
|
+
queryRange: queryRange,
|
|
169
|
+
continuationToken: continuationToken,
|
|
170
|
+
};
|
|
171
|
+
this.ranges.push(newRangeWithToken);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=BaseContinuationTokenManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseContinuationTokenManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,0BAA0B,GAG3B,MAAM,sEAAsE,CAAC;AAK9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE;;;;GAIG;AACH,MAAM,OAAgB,4BAA4B;IACxC,MAAM,GAAsC,EAAE,CAAC;IACtC,qBAAqB,GAA0B,IAAI,qBAAqB,EAAE,CAAC;IAE5F,YAAY,wBAAiC;QAC3C,IAAI,wBAAwB,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;YACnE,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAQD;;;;;;;;OAQG;IACI,eAAe,CACpB,QAAgB,EAChB,eAAwB,EACxB,cAAoC;QAKpC,wBAAwB;QACxB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAE3D,4BAA4B;QAC5B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhE,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,iBAAiB,EAAE,WAAW;SAC/B,CAAC;IACJ,CAAC;IAqBD;;;OAGG;IACK,+BAA+B;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC1D,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,eAAyB,EAAE,QAAgB;QACnE,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEO,uBAAuB,CAAC,oBAAoD;QAClF,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,cAAmC;QAC/D,iCAAiC;QACjC,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;YACxC,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACpE,CAAC;QAED,iCAAiC;QACjC,IAAI,cAAc,CAAC,yBAAyB,EAAE,CAAC;YAC7C,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAEO,oBAAoB,CAAC,iBAAqC;QAChE,OAAO,CACL,CAAC,iBAAiB;YAClB,iBAAiB,KAAK,EAAE;YACxB,iBAAiB,KAAK,MAAM;YAC5B,iBAAiB,CAAC,WAAW,EAAE,KAAK,MAAM,CAC3C,CAAC;IACJ,CAAC;IAEO,+BAA+B;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACzE,OAAO,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,yBAAgD;QAClF,IAAI,yBAAyB,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrF,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE;YAC5E,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,SAAiB,EAAE,WAAiC;QAC7E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,WAAW,CAAC;QAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAa,EAAE,QAAa,EAAE,iBAAyB;QAC9E,mEAAmE;QACnE,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAChD,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CACrF,CAAC;QAEF,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,oDAAoD;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAE1D,2DAA2D;QAC3D,MAAM,iBAAiB,GAAkB;YACvC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,CAAC;QAEF,qBAAqB;QACrB,eAAe,CAAC,UAAU,GAAG,iBAAiB,CAAC;QAC/C,eAAe,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,QAAa,EAAE,SAAgB,EAAE,iBAAyB;QACjF,4DAA4D;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CACxF,CAAC;QAEF,8CAA8C;QAC9C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC7B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,iBAAsB,EAAE,iBAAyB;QAC7E,mCAAmC;QACnC,MAAM,UAAU,GAAkB;YAChC,GAAG,EAAE,iBAAiB,CAAC,GAAG;YAC1B,GAAG,EAAE,iBAAiB,CAAC,GAAG;SAC3B,CAAC;QAEF,6CAA6C;QAC7C,MAAM,iBAAiB,GAAoC;YACzD,UAAU,EAAE,UAAU;YACtB,iBAAiB,EAAE,iBAAiB;SACrC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { QueryRangeMapping } from \"../queryRangeMapping.js\";\nimport {\n parseBaseContinuationToken,\n type QueryRangeWithContinuationToken,\n type RangeBoundary,\n} from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type {\n PartitionRangeUpdate,\n PartitionRangeUpdates,\n} from \"../../documents/ContinuationToken/PartitionRangeUpdate.js\";\nimport { PartitionRangeManager } from \"../PartitionRangeManager.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\n\n/**\n * Base abstract class for continuation token management.\n * Provides common functionality shared between parallel and ORDER BY query token managers.\n * @internal\n */\nexport abstract class BaseContinuationTokenManager {\n private ranges: QueryRangeWithContinuationToken[] = [];\n private readonly partitionRangeManager: PartitionRangeManager = new PartitionRangeManager();\n\n constructor(initialContinuationToken?: string) {\n if (initialContinuationToken) {\n const token = parseBaseContinuationToken(initialContinuationToken);\n if (token?.rangeMappings) {\n this.ranges = token.rangeMappings;\n }\n }\n }\n\n /**\n * Provides controlled access to partition range manager for subclasses.\n * This is the only protected access point needed.\n */\n protected get partitionManager(): PartitionRangeManager {\n return this.partitionRangeManager;\n }\n\n /**\n * Provides controlled access to ranges for subclasses.\n * Made protected to allow subclass range management.\n */\n protected get rangeList(): QueryRangeWithContinuationToken[] {\n return this.ranges;\n }\n\n /**\n * Gets the current continuation token for serialization.\n * Returns undefined if no token exists or query is exhausted.\n */\n protected abstract getCurrentContinuationToken(): any;\n\n /**\n * Processes query results and generates continuation tokens for pagination.\n * Handles response data processing, range management, and token generation.\n *\n * @param pageSize - Maximum number of items to return in this page\n * @param isResponseEmpty - Whether the current response contains no data\n * @param responseResult - Optional response data containing partition mappings and query-specific data\n * @returns Object containing the end index for slicing results and optional continuation token for next page\n */\n public paginateResults(\n pageSize: number,\n isResponseEmpty: boolean,\n responseResult?: ParallelQueryResult,\n ): {\n endIndex: number;\n continuationToken?: string;\n } {\n // Process response data\n if (responseResult) {\n this.processResponseResult(responseResult);\n }\n\n this.removeExhaustedRangesFromRanges();\n const result = this.processRangesForPagination(pageSize, isResponseEmpty);\n const tokenString = this.generateContinuationTokenString();\n\n // Clean up processed ranges\n this.trimProcessedData(result.processedRanges, result.endIndex);\n\n return {\n endIndex: result.endIndex,\n continuationToken: tokenString,\n };\n }\n\n protected abstract processRangesForPagination(\n pageSize: number,\n isResponseEmpty: boolean,\n ): {\n endIndex: number;\n processedRanges: string[];\n };\n\n protected abstract processQuerySpecificResponse(responseResult: ParallelQueryResult): void;\n protected abstract performQuerySpecificDataTrim(\n processedRanges: string[],\n endIndex: number,\n ): void;\n\n /**\n * Gets the serialization function for the specific continuation token type.\n */\n protected abstract getSerializationFunction(): (token: any) => string;\n\n /**\n * Generates continuation token string using the appropriate serialization function.\n * This provides a common implementation that delegates to query-specific logic.\n */\n private generateContinuationTokenString(): string | undefined {\n const token = this.getCurrentContinuationToken();\n if (!token) {\n return undefined;\n }\n\n const serializeFunction = this.getSerializationFunction();\n return serializeFunction(token);\n }\n\n /**\n * Cleans up processed data after a page has been returned.\n * Handles both common and query-specific cleanup.\n */\n private trimProcessedData(processedRanges: string[], endIndex: number): void {\n processedRanges.forEach((rangeId) => {\n this.partitionRangeManager.removePartitionRangeMapping(rangeId);\n });\n\n // Delegate query-specific cleanup to subclass\n this.performQuerySpecificDataTrim(processedRanges, endIndex);\n }\n\n private addPartitionKeyRangeMap(partitionKeyRangeMap: Map<string, QueryRangeMapping>): void {\n this.partitionRangeManager.addPartitionKeyRangeMap(partitionKeyRangeMap);\n }\n\n /**\n * Processes the entire response result and updates the continuation token manager state.\n * This encapsulates all response handling logic in one place.\n */\n private processResponseResult(responseResult: ParallelQueryResult): void {\n // Handle partition key range map\n if (responseResult.partitionKeyRangeMap) {\n this.addPartitionKeyRangeMap(responseResult.partitionKeyRangeMap);\n }\n\n // Handle partition range updates\n if (responseResult.updatedContinuationRanges) {\n this.handlePartitionRangeChanges(responseResult.updatedContinuationRanges);\n }\n\n this.processQuerySpecificResponse(responseResult);\n }\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 private removeExhaustedRangesFromRanges(): void {\n if (!this.ranges || !Array.isArray(this.ranges)) {\n return;\n }\n this.ranges = this.ranges.filter((mapping) => {\n if (!mapping) {\n return false;\n }\n const isExhausted = this.isPartitionExhausted(mapping.continuationToken);\n return !isExhausted;\n });\n }\n\n private handlePartitionRangeChanges(updatedContinuationRanges: PartitionRangeUpdates): void {\n if (updatedContinuationRanges && Object.keys(updatedContinuationRanges).length === 0) {\n return;\n }\n Object.entries(updatedContinuationRanges).forEach(([rangeKey, rangeChange]) => {\n this.processRangeChange(rangeKey, rangeChange);\n });\n }\n\n private processRangeChange(_rangeKey: string, rangeChange: PartitionRangeUpdate): void {\n const { oldRange, newRanges, continuationToken } = rangeChange;\n if (newRanges.length === 1) {\n this.handleRangeMerge(oldRange, newRanges[0], continuationToken);\n } else {\n this.handleRangeSplit(oldRange, newRanges, continuationToken);\n }\n }\n\n private handleRangeMerge(oldRange: any, newRange: any, continuationToken: string): void {\n // Find existing range mapping to update in the common ranges array\n const existingMappingIndex = this.ranges.findIndex(\n (mapping) =>\n mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max,\n );\n\n if (existingMappingIndex < 0) {\n return;\n }\n\n // Update existing mapping with new range properties\n const existingMapping = this.ranges[existingMappingIndex];\n\n // Create new simplified QueryRange with updated boundaries\n const updatedQueryRange: RangeBoundary = {\n min: newRange.min,\n max: newRange.max,\n };\n\n // Update the mapping\n existingMapping.queryRange = updatedQueryRange;\n existingMapping.continuationToken = continuationToken;\n }\n\n private handleRangeSplit(oldRange: any, newRanges: any[], continuationToken: string): void {\n // Remove the old range mapping from the common ranges array\n this.ranges = this.ranges.filter(\n (mapping) =>\n !(mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max),\n );\n\n // Add new range mappings for each split range\n newRanges.forEach((newRange) => {\n this.createNewRangeMapping(newRange, continuationToken);\n });\n }\n\n private createNewRangeMapping(partitionKeyRange: any, continuationToken: string): void {\n // Create new simplified QueryRange\n const queryRange: RangeBoundary = {\n min: partitionKeyRange.min,\n max: partitionKeyRange.max,\n };\n\n // Create new QueryRangeWithContinuationToken\n const newRangeWithToken: QueryRangeWithContinuationToken = {\n queryRange: queryRange,\n continuationToken: continuationToken,\n };\n\n this.ranges.push(newRangeWithToken);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinuationTokenManagerFactory.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { ParallelQueryContinuationTokenManager } from "./ParallelQueryContinuationTokenManager.js";
|
|
4
|
+
import { OrderByQueryContinuationTokenManager } from "./OrderByQueryContinuationTokenManager.js";
|
|
5
|
+
/**
|
|
6
|
+
* Factory for creating appropriate continuation token managers based on query type.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export const ContinuationTokenManagerFactory = {
|
|
10
|
+
/**
|
|
11
|
+
* Creates the appropriate continuation token manager based on query type.
|
|
12
|
+
* Only call this for queries that support continuation tokens.
|
|
13
|
+
* @param collectionLink - Collection link/RID
|
|
14
|
+
* @param initialContinuationToken - Optional initial continuation token
|
|
15
|
+
* @param isOrderByQuery - Whether this is an ORDER BY query
|
|
16
|
+
* @returns Appropriate continuation token manager instance
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
create(collectionLink, initialContinuationToken, isOrderByQuery = false) {
|
|
20
|
+
if (isOrderByQuery) {
|
|
21
|
+
return new OrderByQueryContinuationTokenManager(collectionLink, initialContinuationToken);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return new ParallelQueryContinuationTokenManager(collectionLink, initialContinuationToken);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=ContinuationTokenManagerFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinuationTokenManagerFactory.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;AAEjG;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C;;;;;;;;OAQG;IACH,MAAM,CACJ,cAAsB,EACtB,wBAAiC,EACjC,iBAA0B,KAAK;QAE/B,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,oCAAoC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,qCAAqC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BaseContinuationTokenManager } from \"./BaseContinuationTokenManager.js\";\nimport { ParallelQueryContinuationTokenManager } from \"./ParallelQueryContinuationTokenManager.js\";\nimport { OrderByQueryContinuationTokenManager } from \"./OrderByQueryContinuationTokenManager.js\";\n\n/**\n * Factory for creating appropriate continuation token managers based on query type.\n * @internal\n */\nexport const ContinuationTokenManagerFactory = {\n /**\n * Creates the appropriate continuation token manager based on query type.\n * Only call this for queries that support continuation tokens.\n * @param collectionLink - Collection link/RID\n * @param initialContinuationToken - Optional initial continuation token\n * @param isOrderByQuery - Whether this is an ORDER BY query\n * @returns Appropriate continuation token manager instance\n * @internal\n */\n create(\n collectionLink: string,\n initialContinuationToken?: string,\n isOrderByQuery: boolean = false,\n ): BaseContinuationTokenManager {\n if (isOrderByQuery) {\n return new OrderByQueryContinuationTokenManager(collectionLink, initialContinuationToken);\n } else {\n return new ParallelQueryContinuationTokenManager(collectionLink, initialContinuationToken);\n }\n },\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderByQueryContinuationTokenManager.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { BaseContinuationTokenManager } from "./BaseContinuationTokenManager.js";
|
|
4
|
+
import { createOrderByQueryContinuationToken, parseOrderByQueryContinuationToken, serializeOrderByQueryContinuationToken, } from "../../documents/ContinuationToken/OrderByQueryContinuationToken.js";
|
|
5
|
+
import { convertRangeMappingToQueryRange } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
|
|
6
|
+
/**
|
|
7
|
+
* Manages continuation tokens for ORDER BY queries using single-range sequential processing.
|
|
8
|
+
* Uses OrderByQueryContinuationToken for tracking ORDER BY items and skip counts.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export class OrderByQueryContinuationTokenManager extends BaseContinuationTokenManager {
|
|
12
|
+
continuationToken;
|
|
13
|
+
orderByItemsArray;
|
|
14
|
+
collectionLink;
|
|
15
|
+
constructor(collectionLink, initialContinuationToken) {
|
|
16
|
+
super(initialContinuationToken);
|
|
17
|
+
this.collectionLink = collectionLink;
|
|
18
|
+
this.orderByItemsArray = [];
|
|
19
|
+
if (initialContinuationToken) {
|
|
20
|
+
this.continuationToken = parseOrderByQueryContinuationToken(initialContinuationToken);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
processQuerySpecificResponse(responseResult) {
|
|
24
|
+
// Clear existing items and add new ones without reassigning the array reference
|
|
25
|
+
this.orderByItemsArray.length = 0;
|
|
26
|
+
if (responseResult.orderByItems) {
|
|
27
|
+
this.orderByItemsArray.push(...responseResult.orderByItems);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
performQuerySpecificDataTrim(_processedRanges, endIndex) {
|
|
31
|
+
this.sliceOrderByItemsArray(endIndex);
|
|
32
|
+
}
|
|
33
|
+
sliceOrderByItemsArray(endIndex) {
|
|
34
|
+
if (endIndex === 0 || endIndex >= this.orderByItemsArray.length) {
|
|
35
|
+
// Clear the array without reassigning
|
|
36
|
+
this.orderByItemsArray.length = 0;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// Remove items from 0 to endIndex-1, keeping items from endIndex onwards
|
|
40
|
+
this.orderByItemsArray.splice(0, endIndex);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
processRangesForPagination(pageSize, isResponseEmpty = false) {
|
|
44
|
+
// Handle empty response case - update the previous valid continuation token
|
|
45
|
+
if (isResponseEmpty && this.continuationToken) {
|
|
46
|
+
let rangeProcessingResult;
|
|
47
|
+
if (this.rangeList.length === 0) {
|
|
48
|
+
rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
rangeProcessingResult = this.partitionManager.processEmptyOrderByRanges(this.rangeList);
|
|
52
|
+
}
|
|
53
|
+
const { lastRangeBeforePageLimit } = rangeProcessingResult;
|
|
54
|
+
if (lastRangeBeforePageLimit) {
|
|
55
|
+
// Use the range matching the continuation token for empty response
|
|
56
|
+
this.continuationToken.rangeMappings = [
|
|
57
|
+
convertRangeMappingToQueryRange(lastRangeBeforePageLimit),
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// Range is exhausted - clear the continuation token
|
|
62
|
+
this.continuationToken = undefined;
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
endIndex: rangeProcessingResult.endIndex,
|
|
66
|
+
processedRanges: rangeProcessingResult.processedRanges,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// Normal processing path - handle non-empty responses
|
|
70
|
+
const rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);
|
|
71
|
+
const { lastRangeBeforePageLimit } = rangeProcessingResult;
|
|
72
|
+
// Check if we have a valid range to continue with
|
|
73
|
+
if (!lastRangeBeforePageLimit) {
|
|
74
|
+
this.continuationToken = undefined;
|
|
75
|
+
return {
|
|
76
|
+
endIndex: rangeProcessingResult.endIndex,
|
|
77
|
+
processedRanges: rangeProcessingResult.processedRanges,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const queryRange = convertRangeMappingToQueryRange(lastRangeBeforePageLimit);
|
|
81
|
+
// Extract ORDER BY items from the last item on the page
|
|
82
|
+
let lastOrderByItems;
|
|
83
|
+
let documentRid;
|
|
84
|
+
let skipCount = 0;
|
|
85
|
+
if (rangeProcessingResult.endIndex > 0 && this.orderByItemsArray.length > 0) {
|
|
86
|
+
const lastItemIndexOnPage = rangeProcessingResult.endIndex - 1;
|
|
87
|
+
if (lastItemIndexOnPage < this.orderByItemsArray.length) {
|
|
88
|
+
lastOrderByItems = this.orderByItemsArray[lastItemIndexOnPage].orderByItems;
|
|
89
|
+
documentRid = this.orderByItemsArray[lastItemIndexOnPage]._rid;
|
|
90
|
+
// Calculate skip count: count how many documents in the page have the same RID
|
|
91
|
+
// This handles JOIN queries where multiple documents can have the same RID
|
|
92
|
+
skipCount = 0;
|
|
93
|
+
for (let i = 0; i <= lastItemIndexOnPage; i++) {
|
|
94
|
+
if (this.orderByItemsArray[i]._rid === documentRid) {
|
|
95
|
+
skipCount++;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// If we don't have valid ORDER BY items, we cannot create a proper continuation token
|
|
101
|
+
// This can happen when the response doesn't contain ORDER BY metadata or when there are no results
|
|
102
|
+
if (!lastOrderByItems || lastOrderByItems.length === 0) {
|
|
103
|
+
this.continuationToken = undefined;
|
|
104
|
+
return {
|
|
105
|
+
endIndex: rangeProcessingResult.endIndex,
|
|
106
|
+
processedRanges: rangeProcessingResult.processedRanges,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const rangeMappings = [queryRange];
|
|
110
|
+
// Create new ORDER BY continuation token
|
|
111
|
+
this.continuationToken = createOrderByQueryContinuationToken(rangeMappings, lastOrderByItems, this.collectionLink, // Container RID/link
|
|
112
|
+
skipCount, // Number of documents with the same RID already processed
|
|
113
|
+
documentRid, // Document RID from the last item in the page
|
|
114
|
+
lastRangeBeforePageLimit.offset, // Current offset for OFFSET/LIMIT queries
|
|
115
|
+
lastRangeBeforePageLimit.limit, // Current limit for OFFSET/LIMIT queries
|
|
116
|
+
lastRangeBeforePageLimit.hashedLastResult);
|
|
117
|
+
return {
|
|
118
|
+
endIndex: rangeProcessingResult.endIndex,
|
|
119
|
+
processedRanges: rangeProcessingResult.processedRanges,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
getCurrentContinuationToken() {
|
|
123
|
+
return this.continuationToken;
|
|
124
|
+
}
|
|
125
|
+
getSerializationFunction() {
|
|
126
|
+
return serializeOrderByQueryContinuationToken;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=OrderByQueryContinuationTokenManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderByQueryContinuationTokenManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { BaseContinuationTokenManager } from \"./BaseContinuationTokenManager.js\";\nimport type { ParallelQueryResult, OrderByItemWithRid } from \"../parallelQueryResult.js\";\nimport type { OrderByQueryContinuationToken } from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport {\n createOrderByQueryContinuationToken,\n parseOrderByQueryContinuationToken,\n serializeOrderByQueryContinuationToken,\n} from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport { convertRangeMappingToQueryRange } from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\n\n/**\n * Manages continuation tokens for ORDER BY queries using single-range sequential processing.\n * Uses OrderByQueryContinuationToken for tracking ORDER BY items and skip counts.\n * @internal\n */\nexport class OrderByQueryContinuationTokenManager extends BaseContinuationTokenManager {\n private continuationToken: OrderByQueryContinuationToken | undefined;\n private readonly orderByItemsArray: OrderByItemWithRid[];\n private readonly collectionLink: string;\n\n constructor(collectionLink: string, initialContinuationToken?: string) {\n super(initialContinuationToken);\n this.collectionLink = collectionLink;\n this.orderByItemsArray = [];\n if (initialContinuationToken) {\n this.continuationToken = parseOrderByQueryContinuationToken(initialContinuationToken);\n }\n }\n\n protected processQuerySpecificResponse(responseResult: ParallelQueryResult): void {\n // Clear existing items and add new ones without reassigning the array reference\n this.orderByItemsArray.length = 0;\n if (responseResult.orderByItems) {\n this.orderByItemsArray.push(...responseResult.orderByItems);\n }\n }\n\n protected performQuerySpecificDataTrim(_processedRanges: string[], endIndex: number): void {\n this.sliceOrderByItemsArray(endIndex);\n }\n\n private sliceOrderByItemsArray(endIndex: number): void {\n if (endIndex === 0 || endIndex >= this.orderByItemsArray.length) {\n // Clear the array without reassigning\n this.orderByItemsArray.length = 0;\n } else {\n // Remove items from 0 to endIndex-1, keeping items from endIndex onwards\n this.orderByItemsArray.splice(0, endIndex);\n }\n }\n\n protected processRangesForPagination(\n pageSize: number,\n isResponseEmpty: boolean = false,\n ): { endIndex: number; processedRanges: string[] } {\n // Handle empty response case - update the previous valid continuation token\n if (isResponseEmpty && this.continuationToken) {\n let rangeProcessingResult;\n\n if (this.rangeList.length === 0) {\n rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);\n } else {\n rangeProcessingResult = this.partitionManager.processEmptyOrderByRanges(this.rangeList);\n }\n\n const { lastRangeBeforePageLimit } = rangeProcessingResult;\n if (lastRangeBeforePageLimit) {\n // Use the range matching the continuation token for empty response\n this.continuationToken.rangeMappings = [\n convertRangeMappingToQueryRange(lastRangeBeforePageLimit),\n ];\n } else {\n // Range is exhausted - clear the continuation token\n this.continuationToken = undefined;\n }\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n // Normal processing path - handle non-empty responses\n const rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);\n const { lastRangeBeforePageLimit } = rangeProcessingResult;\n\n // Check if we have a valid range to continue with\n if (!lastRangeBeforePageLimit) {\n this.continuationToken = undefined;\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n const queryRange = convertRangeMappingToQueryRange(lastRangeBeforePageLimit);\n\n // Extract ORDER BY items from the last item on the page\n let lastOrderByItems: any[] | undefined;\n let documentRid: string;\n let skipCount: number = 0;\n if (rangeProcessingResult.endIndex > 0 && this.orderByItemsArray.length > 0) {\n const lastItemIndexOnPage = rangeProcessingResult.endIndex - 1;\n\n if (lastItemIndexOnPage < this.orderByItemsArray.length) {\n lastOrderByItems = this.orderByItemsArray[lastItemIndexOnPage].orderByItems;\n documentRid = this.orderByItemsArray[lastItemIndexOnPage]._rid;\n // Calculate skip count: count how many documents in the page have the same RID\n // This handles JOIN queries where multiple documents can have the same RID\n skipCount = 0;\n for (let i = 0; i <= lastItemIndexOnPage; i++) {\n if (this.orderByItemsArray[i]._rid === documentRid) {\n skipCount++;\n }\n }\n }\n }\n\n // If we don't have valid ORDER BY items, we cannot create a proper continuation token\n // This can happen when the response doesn't contain ORDER BY metadata or when there are no results\n if (!lastOrderByItems || lastOrderByItems.length === 0) {\n this.continuationToken = undefined;\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n const rangeMappings = [queryRange];\n\n // Create new ORDER BY continuation token\n this.continuationToken = createOrderByQueryContinuationToken(\n rangeMappings,\n lastOrderByItems,\n this.collectionLink, // Container RID/link\n skipCount, // Number of documents with the same RID already processed\n documentRid, // Document RID from the last item in the page\n lastRangeBeforePageLimit.offset, // Current offset for OFFSET/LIMIT queries\n lastRangeBeforePageLimit.limit, // Current limit for OFFSET/LIMIT queries\n lastRangeBeforePageLimit.hashedLastResult, // Hash for distinct queries\n );\n\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n protected getCurrentContinuationToken(): OrderByQueryContinuationToken | undefined {\n return this.continuationToken;\n }\n\n protected getSerializationFunction(): (token: OrderByQueryContinuationToken) => string {\n return serializeOrderByQueryContinuationToken;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParallelQueryContinuationTokenManager.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { BaseContinuationTokenManager } from "./BaseContinuationTokenManager.js";
|
|
4
|
+
import { createCompositeQueryContinuationToken, serializeCompositeToken, parseCompositeQueryContinuationToken, convertRangeMappingToQueryRange, } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
|
|
5
|
+
/**
|
|
6
|
+
* Manages continuation tokens for parallel queries using multi-range aggregation.
|
|
7
|
+
* Uses CompositeQueryContinuationToken for range tracking across multiple partitions.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export class ParallelQueryContinuationTokenManager extends BaseContinuationTokenManager {
|
|
11
|
+
continuationToken;
|
|
12
|
+
collectionLink;
|
|
13
|
+
constructor(collectionLink, initialContinuationToken) {
|
|
14
|
+
super(initialContinuationToken);
|
|
15
|
+
this.collectionLink = collectionLink;
|
|
16
|
+
if (initialContinuationToken) {
|
|
17
|
+
this.continuationToken = parseCompositeQueryContinuationToken(initialContinuationToken);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
processRangesForPagination(pageSize, _isResponseEmpty) {
|
|
21
|
+
const result = this.partitionManager.processParallelRanges(pageSize);
|
|
22
|
+
if (!result || !result.processedRangeMappings || result.processedRangeMappings.length === 0) {
|
|
23
|
+
return { endIndex: 0, processedRanges: [] };
|
|
24
|
+
}
|
|
25
|
+
const rangeMappings = result.processedRangeMappings.map((mapping) => convertRangeMappingToQueryRange(mapping));
|
|
26
|
+
if (!this.continuationToken) {
|
|
27
|
+
this.continuationToken = createCompositeQueryContinuationToken(this.collectionLink, rangeMappings);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.updateExistingCompositeContinuationToken(rangeMappings);
|
|
31
|
+
}
|
|
32
|
+
if (result.lastPartitionBeforeCutoff && result.lastPartitionBeforeCutoff.mapping) {
|
|
33
|
+
this.continuationToken.offset = result.lastPartitionBeforeCutoff.mapping.offset;
|
|
34
|
+
this.continuationToken.limit = result.lastPartitionBeforeCutoff.mapping.limit;
|
|
35
|
+
}
|
|
36
|
+
return { endIndex: result.endIndex, processedRanges: result.processedRanges };
|
|
37
|
+
}
|
|
38
|
+
getCurrentContinuationToken() {
|
|
39
|
+
return this.continuationToken;
|
|
40
|
+
}
|
|
41
|
+
getSerializationFunction() {
|
|
42
|
+
return serializeCompositeToken;
|
|
43
|
+
}
|
|
44
|
+
processQuerySpecificResponse(_responseResult) {
|
|
45
|
+
// Parallel queries don't need additional response processing
|
|
46
|
+
}
|
|
47
|
+
performQuerySpecificDataTrim(_processedRanges, _endIndex) {
|
|
48
|
+
// Parallel queries don't need additional cleanup
|
|
49
|
+
}
|
|
50
|
+
updateExistingCompositeContinuationToken(rangeMappings) {
|
|
51
|
+
for (const newRange of rangeMappings) {
|
|
52
|
+
// Check if this range already exists in the token
|
|
53
|
+
const existingRangeIndex = this.continuationToken.rangeMappings.findIndex((existingRange) => existingRange.queryRange.min === newRange.queryRange.min &&
|
|
54
|
+
existingRange.queryRange.max === newRange.queryRange.max);
|
|
55
|
+
if (existingRangeIndex >= 0) {
|
|
56
|
+
// Range exists - update the continuation token
|
|
57
|
+
this.continuationToken.rangeMappings[existingRangeIndex] = newRange;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// New range - add to the rangeMappings array
|
|
61
|
+
this.continuationToken.rangeMappings.push(newRange);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=ParallelQueryContinuationTokenManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParallelQueryContinuationTokenManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { BaseContinuationTokenManager } from \"./BaseContinuationTokenManager.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport type {\n CompositeQueryContinuationToken,\n QueryRangeWithContinuationToken,\n} from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport {\n createCompositeQueryContinuationToken,\n serializeCompositeToken,\n parseCompositeQueryContinuationToken,\n convertRangeMappingToQueryRange,\n} from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type { QueryRangeMapping } from \"../queryRangeMapping.js\";\n\n/**\n * Manages continuation tokens for parallel queries using multi-range aggregation.\n * Uses CompositeQueryContinuationToken for range tracking across multiple partitions.\n * @internal\n */\nexport class ParallelQueryContinuationTokenManager extends BaseContinuationTokenManager {\n private continuationToken: CompositeQueryContinuationToken | undefined;\n private readonly collectionLink: string;\n\n constructor(collectionLink: string, initialContinuationToken?: string) {\n super(initialContinuationToken);\n this.collectionLink = collectionLink;\n if (initialContinuationToken) {\n this.continuationToken = parseCompositeQueryContinuationToken(initialContinuationToken);\n }\n }\n\n protected processRangesForPagination(\n pageSize: number,\n _isResponseEmpty: boolean,\n ): { endIndex: number; processedRanges: string[] } {\n const result = this.partitionManager.processParallelRanges(pageSize);\n if (!result || !result.processedRangeMappings || result.processedRangeMappings.length === 0) {\n return { endIndex: 0, processedRanges: [] };\n }\n\n const rangeMappings: QueryRangeWithContinuationToken[] = result.processedRangeMappings.map(\n (mapping: QueryRangeMapping) => convertRangeMappingToQueryRange(mapping),\n );\n\n if (!this.continuationToken) {\n this.continuationToken = createCompositeQueryContinuationToken(\n this.collectionLink,\n rangeMappings,\n );\n } else {\n this.updateExistingCompositeContinuationToken(rangeMappings);\n }\n\n if (result.lastPartitionBeforeCutoff && result.lastPartitionBeforeCutoff.mapping) {\n this.continuationToken!.offset = result.lastPartitionBeforeCutoff.mapping.offset;\n this.continuationToken!.limit = result.lastPartitionBeforeCutoff.mapping.limit;\n }\n return { endIndex: result.endIndex, processedRanges: result.processedRanges };\n }\n\n protected getCurrentContinuationToken(): CompositeQueryContinuationToken | undefined {\n return this.continuationToken;\n }\n\n protected getSerializationFunction(): (token: CompositeQueryContinuationToken) => string {\n return serializeCompositeToken;\n }\n\n protected processQuerySpecificResponse(_responseResult: ParallelQueryResult): void {\n // Parallel queries don't need additional response processing\n }\n\n protected performQuerySpecificDataTrim(_processedRanges: string[], _endIndex: number): void {\n // Parallel queries don't need additional cleanup\n }\n\n private updateExistingCompositeContinuationToken(\n rangeMappings: QueryRangeWithContinuationToken[],\n ): void {\n for (const newRange of rangeMappings) {\n // Check if this range already exists in the token\n const existingRangeIndex = this.continuationToken!.rangeMappings.findIndex(\n (existingRange) =>\n existingRange.queryRange.min === newRange.queryRange.min &&\n existingRange.queryRange.max === newRange.queryRange.max,\n );\n\n if (existingRangeIndex >= 0) {\n // Range exists - update the continuation token\n this.continuationToken!.rangeMappings[existingRangeIndex] = newRange;\n } else {\n // New range - add to the rangeMappings array\n this.continuationToken!.rangeMappings.push(newRange);\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinuationTokenParser.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/ContinuationTokenParser.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Parses a continuation token string to extract specific fields without full deserialization
|
|
5
|
+
* Supports both CompositeQueryContinuationToken and OrderByQueryContinuationToken formats
|
|
6
|
+
* @param continuationToken - The continuation token string to parse
|
|
7
|
+
* @returns Object containing offset, limit, and hashedLastResult if present
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export function parseContinuationTokenFields(continuationToken) {
|
|
11
|
+
try {
|
|
12
|
+
const parsed = JSON.parse(continuationToken);
|
|
13
|
+
return {
|
|
14
|
+
offset: parsed.offset,
|
|
15
|
+
limit: parsed.limit,
|
|
16
|
+
hashedLastResult: parsed.hashedLastResult,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
throw new Error(`Failed to parse continuation token: ${error instanceof Error ? error.message : String(error)}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ContinuationTokenParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinuationTokenParser.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/ContinuationTokenParser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAYlC;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,iBAAyB;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE7C,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Lightweight interface for continuation token fields needed by pipeline\n * @internal\n */\nexport interface ContinuationTokenFields {\n offset?: number;\n limit?: number;\n hashedLastResult?: string;\n}\n\n/**\n * Parses a continuation token string to extract specific fields without full deserialization\n * Supports both CompositeQueryContinuationToken and OrderByQueryContinuationToken formats\n * @param continuationToken - The continuation token string to parse\n * @returns Object containing offset, limit, and hashedLastResult if present\n * @internal\n */\nexport function parseContinuationTokenFields(continuationToken: string): ContinuationTokenFields {\n try {\n const parsed = JSON.parse(continuationToken);\n\n return {\n offset: parsed.offset,\n limit: parsed.limit,\n hashedLastResult: parsed.hashedLastResult,\n };\n } catch (error) {\n throw new Error(\n `Failed to parse continuation token: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n}\n"]}
|
package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAS1F,cAAc;AACd,qBAAa,wBAAyB,YAAW,gBAAgB;IAE7D,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;gBADT,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD,OAAO,CAAC,SAAS,CAAkB;IAE5B,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAsFtF,OAAO,CAAC,uBAAuB;CAehC"}
|
|
@@ -2,6 +2,7 @@ import { hashObject } from "../../utils/hashObject.js";
|
|
|
2
2
|
import { createAggregator } from "../Aggregators/index.js";
|
|
3
3
|
import { getInitialHeader, mergeHeaders } from "../headerUtils.js";
|
|
4
4
|
import { emptyGroup, extractAggregateResult } from "./emptyGroup.js";
|
|
5
|
+
import { createParallelQueryResult } from "../parallelQueryResult.js";
|
|
5
6
|
/** @hidden */
|
|
6
7
|
export class GroupByEndpointComponent {
|
|
7
8
|
executionContext;
|
|
@@ -25,15 +26,27 @@ export class GroupByEndpointComponent {
|
|
|
25
26
|
}
|
|
26
27
|
const aggregateHeaders = getInitialHeader();
|
|
27
28
|
const response = await this.executionContext.fetchMore(diagnosticNode);
|
|
29
|
+
if (!response) {
|
|
30
|
+
// If there are any groupings, consolidate and return them
|
|
31
|
+
if (this.groupings.size > 0) {
|
|
32
|
+
return this.consolidateGroupResults(aggregateHeaders);
|
|
33
|
+
}
|
|
34
|
+
return { result: undefined, headers: aggregateHeaders };
|
|
35
|
+
}
|
|
28
36
|
mergeHeaders(aggregateHeaders, response.headers);
|
|
29
|
-
if (response
|
|
37
|
+
if (response.result === undefined ||
|
|
38
|
+
!Array.isArray(response.result.buffer) ||
|
|
39
|
+
response.result.buffer.length === 0) {
|
|
30
40
|
// If there are any groupings, consolidate and return them
|
|
31
41
|
if (this.groupings.size > 0) {
|
|
32
42
|
return this.consolidateGroupResults(aggregateHeaders);
|
|
33
43
|
}
|
|
34
44
|
return { result: undefined, headers: aggregateHeaders };
|
|
35
45
|
}
|
|
36
|
-
|
|
46
|
+
const parallelResult = response.result;
|
|
47
|
+
const dataToProcess = parallelResult.buffer;
|
|
48
|
+
// Process GROUP BY aggregation logic
|
|
49
|
+
for (const item of dataToProcess) {
|
|
37
50
|
// If it exists, process it via aggregators
|
|
38
51
|
if (item) {
|
|
39
52
|
const group = item.groupByItems ? await hashObject(item.groupByItems) : emptyGroup;
|
|
@@ -72,10 +85,10 @@ export class GroupByEndpointComponent {
|
|
|
72
85
|
}
|
|
73
86
|
}
|
|
74
87
|
if (this.executionContext.hasMoreResults()) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
};
|
|
88
|
+
// Return empty buffer but preserve the structure and pass-through fields
|
|
89
|
+
const result = createParallelQueryResult([], // empty buffer
|
|
90
|
+
new Map());
|
|
91
|
+
return { result, headers: aggregateHeaders };
|
|
79
92
|
}
|
|
80
93
|
else {
|
|
81
94
|
return this.consolidateGroupResults(aggregateHeaders);
|
|
@@ -90,7 +103,9 @@ export class GroupByEndpointComponent {
|
|
|
90
103
|
this.aggregateResultArray.push(groupResult);
|
|
91
104
|
}
|
|
92
105
|
this.completed = true;
|
|
93
|
-
|
|
106
|
+
// Return in the new structure format using the utility function
|
|
107
|
+
const result = createParallelQueryResult(this.aggregateResultArray, new Map());
|
|
108
|
+
return { result, headers: aggregateHeaders };
|
|
94
109
|
}
|
|
95
110
|
}
|
|
96
111
|
//# sourceMappingURL=GroupByEndpointComponent.js.map
|