cleaning to make sure _init isn't being called twice

This commit is contained in:
Eliot Horowitz
2010-08-01 01:02:51 -04:00
parent f05157439c
commit 27e404fa08
2 changed files with 12 additions and 3 deletions

View File

@@ -311,6 +311,7 @@ namespace mongo {
: ClusteredCursor( q ) , _servers( servers ){
_sortKey = sortKey.getOwned();
_needToSkip = q.ntoskip;
_finishCons();
}
ParallelSortClusteredCursor::ParallelSortClusteredCursor( const set<ServerAndQuery>& servers , const string& ns ,
@@ -319,15 +320,21 @@ namespace mongo {
: ClusteredCursor( ns , q.obj , options , fields ) , _servers( servers ){
_sortKey = q.getSort().copy();
_needToSkip = 0;
_finishCons();
}
void ParallelSortClusteredCursor::_init(){
void ParallelSortClusteredCursor::_finishCons(){
_numServers = _servers.size();
_cursors = 0;
}
void ParallelSortClusteredCursor::_init(){
assert( ! _cursors );
_cursors = new FilteringClientCursor[_numServers];
// TODO: parellize
int num = 0;
for ( set<ServerAndQuery>::iterator i = _servers.begin(); i!=_servers.end(); i++ ){
for ( set<ServerAndQuery>::iterator i = _servers.begin(); i!=_servers.end(); ++i ){
const ServerAndQuery& sq = *i;
_cursors[num++].reset( query( sq._server , 0 , sq._extra , _needToSkip ) );
}
@@ -336,6 +343,7 @@ namespace mongo {
ParallelSortClusteredCursor::~ParallelSortClusteredCursor(){
delete [] _cursors;
_cursors = 0;
}
bool ParallelSortClusteredCursor::more(){