void ComparisonMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " "; switch (matchType()) { case LT: debug << "$lt"; break; case LTE: debug << "$lte"; break; case EQ: debug << "=="; break; case GT: debug << "$gt"; break; case GTE: debug << "$gte"; break; default: debug << " UNKNOWN - should be impossible"; break; } debug << " " << _rhs.toString(false); MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void TypeMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << _path << " type: " << _type; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void ModMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " mod " << _divisor << " % x == " << _remainder; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void SizeMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " $size : " << _size << "\n"; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } }
void GeoMatchExpression::debugString( StringBuilder& debug, int level ) const { _debugAddSpace( debug, level ); debug << "GEO"; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void InternalSchemaStrLengthMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " " << _name << " " << _strLen << "\n"; MatchExpression::TagData* td = getTag(); if (nullptr != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void TextMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << "TEXT : query=" << _query << ", language=" << _language << ", tag="; MatchExpression::TagData* td = getTag(); if (NULL != td) { td->debugString(&debug); } else { debug << "NULL"; } debug << "\n"; }
void RegexMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " regex /" << _regex << "/" << _flags; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void InternalSchemaFmodMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " fmod: divisor: " << _divisor.toString() << " remainder: " << _remainder.toString(); MatchExpression::TagData* td = getTag(); if (td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void InMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " $in "; _arrayEntries.debugString(debug); MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void ElemMatchObjectMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " $elemMatch (obj)"; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; _sub->debugString(debug, level + 1); }
void ComparisonMatchExpressionBase::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " " << name(); debug << " " << _rhs.toString(false); MatchExpression::TagData* td = getTag(); if (td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void TextMatchExpressionBase::debugString(StringBuilder& debug, int level) const { const fts::FTSQuery& ftsQuery = getFTSQuery(); _debugAddSpace(debug, level); debug << "TEXT : query=" << ftsQuery.getQuery() << ", language=" << ftsQuery.getLanguage() << ", caseSensitive=" << ftsQuery.getCaseSensitive() << ", diacriticSensitive=" << ftsQuery.getDiacriticSensitive() << ", tag="; MatchExpression::TagData* td = getTag(); if (NULL != td) { td->debugString(&debug); } else { debug << "NULL"; } debug << "\n"; }
void GeoMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); BSONObjBuilder builder; serialize(&builder); debug << "GEO raw = " << builder.obj().toString(); MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void AllElemMatchOp::debugString( StringBuilder& debug, int level ) const { _debugAddSpace( debug, level ); debug << _path << " AllElemMatchOp:"; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; for ( size_t i = 0; i < _list.size(); i++ ) { _list[i]->debugString( debug, level + 1); } }
void ElemMatchValueMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " $elemMatch (value)"; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; for (unsigned i = 0; i < _subs.size(); i++) { _subs[i]->debugString(debug, level + 1); } }
void TypeMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << _path << " type: "; if (matchesAllNumbers()) { debug << kMatchesAllNumbersAlias; } else { debug << _type; } MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void InMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " $in "; debug << "[ "; for (auto&& equality : _equalitySet) { debug << equality.toString(false) << " "; } for (auto&& regex : _regexes) { regex->shortDebugString(debug); debug << " "; } debug << "]"; MatchExpression::TagData* td = getTag(); if (NULL != td) { debug << " "; td->debugString(&debug); } debug << "\n"; }
void BitTestMatchExpression::debugString(StringBuilder& debug, int level) const { _debugAddSpace(debug, level); debug << path() << " "; switch (matchType()) { case BITS_ALL_SET: debug << "$bitsAllSet:"; break; case BITS_ALL_CLEAR: debug << "$bitsAllClear:"; break; case BITS_ANY_SET: debug << "$bitsAnySet:"; break; case BITS_ANY_CLEAR: debug << "$bitsAnyClear:"; break; default: invariant(false); } debug << " ["; for (size_t i = 0; i < _bitPositions.size(); i++) { debug << _bitPositions[i]; if (i != _bitPositions.size() - 1) { debug << ", "; } } debug << "]"; MatchExpression::TagData* td = getTag(); if (td) { debug << " "; td->debugString(&debug); } }