diff options
Diffstat (limited to 'src/mongo/db/query/multi_plan_runner.h')
-rw-r--r-- | src/mongo/db/query/multi_plan_runner.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/mongo/db/query/multi_plan_runner.h b/src/mongo/db/query/multi_plan_runner.h index 01dbc3091c3..9f8eb22e477 100644 --- a/src/mongo/db/query/multi_plan_runner.h +++ b/src/mongo/db/query/multi_plan_runner.h @@ -120,13 +120,22 @@ namespace mongo { PlanInfo** planInfo) const; private: + // + // Have all our candidate plans do something. + // If all our candidate plans fail, *objOut will contain + // information on the failure. + // + /** - * Have all our candidate plans do something. - * If all our candidate plans fail, *objOut will contain - * information on the failure. + * Calls work on each child plan in a round-robin fashion. We stop when any plan + * hits EOF or returns 'numResults' results. + * + * Returns true if we need to keep working the plans and false otherwise. */ - bool workAllPlans(BSONObj* objOut); + bool workAllPlans(BSONObj* objOut, size_t numResults); + void allPlansSaveState(); + void allPlansRestoreState(); const Collection* _collection; |