summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/internal_plans.h
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2017-04-03 11:55:33 -0400
committerBenety Goh <benety@mongodb.com>2017-04-03 18:08:37 -0400
commit5a40f54c611bfb42ea6fba10eec8b004ac82ecf0 (patch)
treedd1b6b731830656520cad63c8070ade8c1f6a0ce /src/mongo/db/query/internal_plans.h
parentf0f070ef56ced33305a5b7882a1fb96f07fc0d58 (diff)
downloadmongo-5a40f54c611bfb42ea6fba10eec8b004ac82ecf0.tar.gz
SERVER-28211 added InternalPlanner::updateWithIdHack()
Diffstat (limited to 'src/mongo/db/query/internal_plans.h')
-rw-r--r--src/mongo/db/query/internal_plans.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/query/internal_plans.h b/src/mongo/db/query/internal_plans.h
index f9da8e89f70..cc9eb7f0d86 100644
--- a/src/mongo/db/query/internal_plans.h
+++ b/src/mongo/db/query/internal_plans.h
@@ -41,6 +41,7 @@ class OperationContext;
class PlanStage;
class WorkingSet;
struct DeleteStageParams;
+struct UpdateStageParams;
/**
* The internal planner is a one-stop shop for "off-the-shelf" plans. Most internal procedures
@@ -110,6 +111,16 @@ public:
PlanExecutor::YieldPolicy yieldPolicy,
Direction direction = FORWARD);
+ /**
+ * Returns an IDHACK => UPDATE plan.
+ */
+ static std::unique_ptr<PlanExecutor> updateWithIdHack(OperationContext* opCtx,
+ Collection* collection,
+ const UpdateStageParams& params,
+ const IndexDescriptor* descriptor,
+ const BSONObj& key,
+ PlanExecutor::YieldPolicy yieldPolicy);
+
private:
/**
* Returns a plan stage that can be used for a collection scan.