diff options
author | William Schultz <william.schultz@mongodb.com> | 2018-04-05 13:56:47 -0400 |
---|---|---|
committer | William Schultz <william.schultz@mongodb.com> | 2018-04-05 13:59:27 -0400 |
commit | e88c6d85036607ddf86105234917b4adfffbd612 (patch) | |
tree | 43ff091111fec8836654b0ccc3dcaff6e3d2a518 /src/mongo/db/pipeline/pipeline.h | |
parent | ac6544a9194197b5ab10f563cf1a19dcdc42349c (diff) | |
download | mongo-e88c6d85036607ddf86105234917b4adfffbd612.tar.gz |
Revert "SERVER-33323 Use the IDL to serialize the ARM"
This reverts commit 7d09f278a2acf9791b36927d6af1d30347d60391.
Diffstat (limited to 'src/mongo/db/pipeline/pipeline.h')
-rw-r--r-- | src/mongo/db/pipeline/pipeline.h | 38 |
1 files changed, 12 insertions, 26 deletions
diff --git a/src/mongo/db/pipeline/pipeline.h b/src/mongo/db/pipeline/pipeline.h index 04b5769792d..bcb7ee64521 100644 --- a/src/mongo/db/pipeline/pipeline.h +++ b/src/mongo/db/pipeline/pipeline.h @@ -39,8 +39,6 @@ #include "mongo/db/pipeline/value.h" #include "mongo/db/query/explain_options.h" #include "mongo/db/query/query_knobs.h" -#include "mongo/executor/task_executor.h" -#include "mongo/s/query/async_results_merger_params_gen.h" #include "mongo/stdx/functional.h" #include "mongo/util/intrusive_counter.h" #include "mongo/util/timer.h" @@ -270,34 +268,13 @@ public: } /** - * Removes and returns the first stage of the pipeline. Returns nullptr if the pipeline is - * empty. - */ - boost::intrusive_ptr<DocumentSource> popFront(); - - /** - * Removes and returns the last stage of the pipeline. Returns nullptr if the pipeline is empty. - */ - boost::intrusive_ptr<DocumentSource> popBack(); - - /** - * Adds the given stage to the end of the pipeline. - */ - void pushBack(boost::intrusive_ptr<DocumentSource>); - - /** - * Removes and returns the first stage of the pipeline if its name is 'targetStageName'. - * Returns nullptr if there is no first stage with that name. - */ - boost::intrusive_ptr<DocumentSource> popFrontWithName(StringData targetStageName); - - /** * Removes and returns the first stage of the pipeline if its name is 'targetStageName' and the * given 'predicate' function, if present, returns 'true' when called with a pointer to the * stage. Returns nullptr if there is no first stage which meets these criteria. */ - boost::intrusive_ptr<DocumentSource> popFrontWithNameAndCriteria( - StringData targetStageName, stdx::function<bool(const DocumentSource* const)> predicate); + boost::intrusive_ptr<DocumentSource> popFrontWithCriteria( + StringData targetStageName, + stdx::function<bool(const DocumentSource* const)> predicate = nullptr); /** * PipelineD is a "sister" class that has additional functionality for the Pipeline. It exists @@ -309,6 +286,15 @@ public: friend class PipelineD; private: + class Optimizations { + public: + // This contains static functions that optimize pipelines in various ways. + // This is a class rather than a namespace so that it can be a friend of Pipeline. + // It is defined in pipeline_optimizations.h. + class Sharded; + }; + + friend class Optimizations::Sharded; friend class PipelineDeleter; /** |