HybridBuildStrategy::HybridBuildStrategy( const ParsedQuery &parsedQuery, const shared_ptr<QueryOptimizerCursor> &cursor, BufBuilder &buf ) : ResponseBuildStrategy( parsedQuery, cursor, buf, QueryPlanSummary() ), _orderedBuild( _parsedQuery, _cursor, _buf, QueryPlanSummary() ), _reorderBuild( _parsedQuery, _cursor, _buf, QueryPlanSummary() ), _reorderedMatches() { }
CursorGenerator::CursorGenerator( const StringData &ns, const BSONObj &query, const BSONObj &order, const QueryPlanSelectionPolicy &planPolicy, const shared_ptr<const ParsedQuery> &parsedQuery, bool requireOrder, QueryPlanSummary *singlePlanSummary ) : _ns( ns ), _query( query ), _order( order ), _planPolicy( planPolicy ), _parsedQuery( parsedQuery ), _requireOrder( requireOrder ), _singlePlanSummary( singlePlanSummary ) { // Initialize optional return variables. if ( _singlePlanSummary ) { *_singlePlanSummary = QueryPlanSummary(); } }
void HybridBuildStrategy::init() { _reorderBuild.reset( ReorderBuildStrategy::make( _parsedQuery, _cursor, _buf, QueryPlanSummary() ) ); }