diff options
Diffstat (limited to 'src/mongo/db/pipeline/pipeline.h')
| -rw-r--r-- | src/mongo/db/pipeline/pipeline.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/pipeline.h b/src/mongo/db/pipeline/pipeline.h index 96cf6426be3..8965f493dc2 100644 --- a/src/mongo/db/pipeline/pipeline.h +++ b/src/mongo/db/pipeline/pipeline.h @@ -171,6 +171,16 @@ public: static Pipeline::SourceContainer::iterator optimizeEndOfPipeline( Pipeline::SourceContainer::iterator itr, Pipeline::SourceContainer* container); + /** + * Applies optimizeAt() to all stages in the given pipeline after the stage that 'itr' points + * to. + * + * Returns a valid iterator that points to the new "end of the pipeline": i.e., the stage that + * comes after 'itr' in the newly optimized pipeline. + */ + static Pipeline::SourceContainer::iterator optimizeAtEndOfPipeline( + Pipeline::SourceContainer::iterator itr, Pipeline::SourceContainer* container); + static std::unique_ptr<Pipeline, PipelineDeleter> makePipelineFromViewDefinition( const boost::intrusive_ptr<ExpressionContext>& subPipelineExpCtx, ExpressionContext::ResolvedNamespace resolvedNs, |
