Ejemplo n.º 1
0
 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();
     }
 }
Ejemplo n.º 3
0
 void HybridBuildStrategy::init() {
     _reorderBuild.reset( ReorderBuildStrategy::make( _parsedQuery, _cursor, _buf,
                                                      QueryPlanSummary() ) );
 }