summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/projection.h
diff options
context:
space:
mode:
authorHari Khalsa <hkhalsa@10gen.com>2013-11-15 17:28:45 -0500
committerHari Khalsa <hkhalsa@10gen.com>2013-11-21 10:54:52 -0500
commitc4cdc5bea6172bffb98002e7a24f4cb4157fb460 (patch)
tree807808b7822577564444afaf362fc04ddd8bedae /src/mongo/db/exec/projection.h
parent0ca6f73c92b8eb313ed2fee5bcb2dbfa35b82904 (diff)
downloadmongo-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.h18
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