diff options
author | Hari Khalsa <hkhalsa@10gen.com> | 2013-11-15 17:28:45 -0500 |
---|---|---|
committer | Hari Khalsa <hkhalsa@10gen.com> | 2013-11-21 10:54:52 -0500 |
commit | c4cdc5bea6172bffb98002e7a24f4cb4157fb460 (patch) | |
tree | 807808b7822577564444afaf362fc04ddd8bedae /src/mongo/db/exec/projection.h | |
parent | 0ca6f73c92b8eb313ed2fee5bcb2dbfa35b82904 (diff) | |
download | mongo-c4cdc5bea6172bffb98002e7a24f4cb4157fb460.tar.gz |
SERVER-10026 break up proj parsing and exec, add meta/text score projection
Diffstat (limited to 'src/mongo/db/exec/projection.h')
-rw-r--r-- | src/mongo/db/exec/projection.h | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/mongo/db/exec/projection.h b/src/mongo/db/exec/projection.h index d5f2785f57c..fbca9ed0923 100644 --- a/src/mongo/db/exec/projection.h +++ b/src/mongo/db/exec/projection.h @@ -30,9 +30,9 @@ #include "mongo/db/diskloc.h" #include "mongo/db/exec/plan_stage.h" +#include "mongo/db/exec/projection_exec.h" #include "mongo/db/jsobj.h" #include "mongo/db/matcher/expression.h" -#include "mongo/db/query/lite_projection.h" namespace mongo { @@ -41,12 +41,10 @@ namespace mongo { */ class ProjectionStage : public PlanStage { public: - ProjectionStage(LiteProjection* proj, - bool covered, + ProjectionStage(BSONObj projObj, const MatchExpression* fullExpression, WorkingSet* ws, - PlanStage* child, - const MatchExpression* filter); + PlanStage* child); virtual ~ProjectionStage(); @@ -60,22 +58,14 @@ namespace mongo { PlanStageStats* getStats(); private: - // Not owned by us. - LiteProjection* _proj; - bool _covered; + scoped_ptr<ProjectionExec> _exec; // _ws is not owned by us. WorkingSet* _ws; scoped_ptr<PlanStage> _child; - // The filter is not owned by us. - const MatchExpression* _filter; - // Stats CommonStats _commonStats; - - // Not owned here. Used when we have a positional projection. - const MatchExpression* _fullExpression; }; } // namespace mongo |