コード例 #1
0
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);
    }
}
コード例 #2
0
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";
}
コード例 #3
0
ファイル: expression_array.cpp プロジェクト: 504com/mongo
    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);
        }

    }
コード例 #4
0
ファイル: expression_leaf.cpp プロジェクト: jayesh1017/mongo
 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;
     case NE: debug << "$ne"; break;
     default: debug << " UNKNOWN - should be impossible"; break;
     }
     debug << " " << _rhs.toString( false ) << "\n";
 }
コード例 #5
0
void InternalSchemaUniqueItemsMatchExpression::debugString(StringBuilder& debug,
                                                           int indentationLevel) const {
    _debugAddSpace(debug, indentationLevel);

    BSONObjBuilder builder;
    serialize(&builder);
    debug << builder.obj().toString() << "\n";

    const auto* tag = getTag();
    if (tag) {
        debug << " ";
        tag->debugString(&debug);
    }
    debug << "\n";
}
コード例 #6
0
ファイル: expression_leaf.cpp プロジェクト: RaeCai/mongo
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";
}
コード例 #7
0
ファイル: expression_leaf.cpp プロジェクト: ajdavis/mongo
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";
}
コード例 #8
0
ファイル: expression_leaf.cpp プロジェクト: harinaths/mongo
    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";
    }
コード例 #9
0
ファイル: expression_leaf.cpp プロジェクト: RaeCai/mongo
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);
    }
}
コード例 #10
0
ファイル: expression_tree.cpp プロジェクト: violentesc/mongo
void OrExpression::debugString( StringBuilder& debug, int level ) const {
    _debugAddSpace( debug, level );
    debug << "$or\n";
    _debugList( debug, level );
}
コード例 #11
0
ファイル: expression.cpp プロジェクト: ANTco/mongo
 void FalseMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << "$false\n";
 }
コード例 #12
0
ファイル: expression_leaf.cpp プロジェクト: jaehong747/mongo
 void NinMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << path() << " $nin: TODO\n";
 }
コード例 #13
0
ファイル: expression_array.cpp プロジェクト: gengyit/mongo
 void AllMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << _path << " $all TODO\n";
 }
コード例 #14
0
ファイル: expression_leaf.cpp プロジェクト: jayesh1017/mongo
 void ExistsMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << _path << " exists: " << _exists << "\n";
 }
コード例 #15
0
ファイル: expression_leaf.cpp プロジェクト: jayesh1017/mongo
 void TypeMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << _path << " type: " << _type << "\n";
 }
コード例 #16
0
ファイル: expression_leaf.cpp プロジェクト: jayesh1017/mongo
 void ModMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << _path << " mod " << _divisor << " % x == "  << _remainder << "\n";
 }
コード例 #17
0
void InternalSchemaObjectMatchExpression::debugString(StringBuilder& debug, int level) const {
    _debugAddSpace(debug, level);
    debug << kName << "\n";
    _sub->debugString(debug, level + 1);
}
コード例 #18
0
ファイル: expression_tree.cpp プロジェクト: jayesh1017/mongo
 void NotMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << "$not\n";
     _exp->debugString( debug, level + 1 );
 }
コード例 #19
0
 void ElemMatchObjectMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << path() << " $elemMatch\n";
     _sub->debugString( debug, level + 1 );
 }
コード例 #20
0
ファイル: expression.cpp プロジェクト: ANTco/mongo
 void AtomicMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << "$atomic\n";
 }
コード例 #21
0
 void SizeMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << path() << " $size : " << _size << "\n";
 }
コード例 #22
0
ファイル: expression_leaf.cpp プロジェクト: jayesh1017/mongo
 void RegexMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << _path << " regex /" << _regex << "/" << _flags << "\n";
 }
コード例 #23
0
ファイル: expression_tree.cpp プロジェクト: jayesh1017/mongo
 void AndMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << "$and\n";
     _debugList( debug, level );
 }
コード例 #24
0
ファイル: expression_geo.cpp プロジェクト: jayesh1017/mongo
 void GeoMatchExpression::debugString( StringBuilder& debug, int level ) const {
     _debugAddSpace( debug, level );
     debug << "GEO\n";
 }