summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/plan_executor_pipeline.h
diff options
context:
space:
mode:
authorDavid Storch <david.storch@mongodb.com>2020-08-25 18:34:54 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-08-31 21:53:09 +0000
commitc70016c56f4f34ba09f4975fbf5bb3ac5129b5f7 (patch)
treec68f8e2c539246ef00a9abc4dfee16e667024dac /src/mongo/db/pipeline/plan_executor_pipeline.h
parent5360e4bd5724440676017d17f6878852753e4bac (diff)
downloadmongo-c70016c56f4f34ba09f4975fbf5bb3ac5129b5f7.tar.gz
SERVER-48477 move CRUD interface into PlanExecutor
This allows classic PlanStages to be removed from the PlanExecutor interface. It also positions the code base well for adding SBE support for all of the CRUD commands.
Diffstat (limited to 'src/mongo/db/pipeline/plan_executor_pipeline.h')
-rw-r--r--src/mongo/db/pipeline/plan_executor_pipeline.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/mongo/db/pipeline/plan_executor_pipeline.h b/src/mongo/db/pipeline/plan_executor_pipeline.h
index f6ad2a97341..54a66979bfc 100644
--- a/src/mongo/db/pipeline/plan_executor_pipeline.h
+++ b/src/mongo/db/pipeline/plan_executor_pipeline.h
@@ -46,10 +46,6 @@ public:
std::unique_ptr<Pipeline, PipelineDeleter> pipeline,
bool isChangeStream);
- PlanStage* getRootStage() const override {
- MONGO_UNREACHABLE;
- }
-
CanonicalQuery* getCanonicalQuery() const override {
return nullptr;
}
@@ -81,7 +77,20 @@ public:
bool isEOF() override;
- void executePlan() override;
+ // DocumentSource execution is only used for executing aggregation commands, so the interfaces
+ // for executing other CRUD operations are not supported.
+ long long executeCount() override {
+ MONGO_UNREACHABLE;
+ }
+ UpdateResult executeUpdate() override {
+ MONGO_UNREACHABLE;
+ }
+ UpdateResult getUpdateResult() const override {
+ MONGO_UNREACHABLE;
+ }
+ long long executeDelete() override {
+ MONGO_UNREACHABLE;
+ }
void dispose(OperationContext* opCtx) override {
_pipeline->dispose(opCtx);