예제 #1
0
 void QuerySolutionNode::addCommon(stringstream* ss, int indent) const {
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = [";
     for (BSONObjSet::const_iterator it = getSort().begin(); it != getSort().end(); it++) {
         *ss << it->toString() << ", ";
     }
     *ss << "]" << endl;
 }
예제 #2
0
 void Geo2DNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "GEO_2D\n";
     addIndent(ss, indent + 1);
     *ss << "keyPattern = " << indexKeyPattern.toString() << endl;
     addIndent(ss, indent + 1);
     //*ss << "seek = " << seek.toString() << endl;
     //addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
 }
예제 #3
0
 void SkipNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "SKIP\n";
     addIndent(ss, indent + 1);
     *ss << "skip= " << skip << endl;
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "Child:" << endl;
     child->appendToString(ss, indent + 2);
 }
예제 #4
0
 void LimitNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "LIMIT\n";
     addIndent(ss, indent + 1);
     *ss << "limit = " << limit << endl;
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "Child:" << endl;
     child->appendToString(ss, indent + 2);
 }
예제 #5
0
 void CollectionScanNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "COLLSCAN\n";
     addIndent(ss, indent + 1);
     *ss <<  "ns = " << name << endl;
     if (NULL != filter) {
         addIndent(ss, indent + 1);
         *ss << " filter = " << filter->toString();
     }
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
 }
예제 #6
0
 void ProjectionNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "PROJ\n";
     verify(NULL != projection);
     addIndent(ss, indent + 1);
     *ss << "proj = " << projection->toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "Child:" << endl;
     child->appendToString(ss, indent + 2);
 }
예제 #7
0
 void GeoNear2DNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "GEO_NEAR_2D\n";
     addIndent(ss, indent + 1);
     *ss << "keyPattern = " << indexKeyPattern.toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "nearQuery = " << nq.toString() << endl;
     if (NULL != filter) {
         addIndent(ss, indent + 1);
         *ss << " filter = " << filter->toString();
     }
 }
예제 #8
0
 void TextNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "TEXT\n";
     addIndent(ss, indent + 1);
     *ss << "numWanted = " << _numWanted << endl;
     addIndent(ss, indent + 1);
     *ss << "keyPattern = " << _indexKeyPattern.toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "query = " << _query << endl;
     addIndent(ss, indent + 1);
     *ss << "language = " << _language << endl;
 }
예제 #9
0
 void AndSortedNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "AND_SORTED";
     if (NULL != filter) {
         addIndent(ss, indent + 1);
         *ss << " filter = " << filter->toString() << endl;
     }
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     for (size_t i = 0; i < children.size(); ++i) {
         *ss << "Child " << i << ": ";
         children[i]->appendToString(ss, indent + 1);
     }
 }
예제 #10
0
 void IndexScanNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "IXSCAN\n";
     addIndent(ss, indent + 1);
     *ss << "keyPattern = " << indexKeyPattern << endl;
     if (NULL != filter) {
         addIndent(ss, indent + 1);
         *ss << " filter= " << filter->toString() << endl;
     }
     addIndent(ss, indent + 1);
     *ss << "direction = " << direction << endl;
     addIndent(ss, indent + 1);
     *ss << "bounds = " << bounds.toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
 }
예제 #11
0
 void FetchNode::appendToString(stringstream* ss, int indent) const {
     addIndent(ss, indent);
     *ss << "FETCH\n";
     if (NULL != filter) {
         addIndent(ss, indent + 1);
         StringBuilder sb;
         *ss << "filter:\n";
         filter->debugString(sb, indent + 2);
         *ss << sb.str();
     }
     addIndent(ss, indent + 1);
     *ss << "fetched = " << fetched() << endl;
     addIndent(ss, indent + 1);
     *ss << "sortedByDiskLoc = " << sortedByDiskLoc() << endl;
     addIndent(ss, indent + 1);
     *ss << "getSort = " << getSort().toString() << endl;
     addIndent(ss, indent + 1);
     *ss << "Child:" << endl;
     child->appendToString(ss, indent + 2);
 }