idhack_runner.h | idhack_runner.h | |||
---|---|---|---|---|
skipping to change at line 93 | skipping to change at line 93 | |||
*/ | */ | |||
static bool supportsQuery(const CanonicalQuery& query); | static bool supportsQuery(const CanonicalQuery& query); | |||
private: | private: | |||
/** | /** | |||
* ID Hack queries are only covered with the projection {_id: 1}. | * ID Hack queries are only covered with the projection {_id: 1}. | |||
*/ | */ | |||
bool hasCoveredProjection() const; | bool hasCoveredProjection() const; | |||
/** | /** | |||
* If '_query' has a projection, then apply it, returning the resul | * Apply the projection from '_query' to the given object and retur | |||
t in 'objOut'. | n the result. | |||
* The diskloc 'loc' contains the BSONObj to transform. | * '_query->getProj()' must be non-NULL. | |||
* | ||||
* Otherwise do nothing and return false. | ||||
*/ | */ | |||
bool applyProjection(const DiskLoc& loc, BSONObj* objOut) const; | BSONObj applyProjection(const BSONObj& docObj) const; | |||
// Not owned here. | // Not owned here. | |||
const Collection* _collection; | const Collection* _collection; | |||
// The value to match against the _id field. | // The value to match against the _id field. | |||
BSONObj _key; | BSONObj _key; | |||
// TODO: When we combine the canonicalize and getRunner steps into one we can get rid of | // TODO: When we combine the canonicalize and getRunner steps into one we can get rid of | |||
// this. | // this. | |||
boost::scoped_ptr<CanonicalQuery> _query; | boost::scoped_ptr<CanonicalQuery> _query; | |||
End of changes. 2 change blocks. | ||||
6 lines changed or deleted | 4 lines changed or added | |||