diff options
Diffstat (limited to 'src/mongo/db/matcher/extensions_callback.cpp')
-rw-r--r-- | src/mongo/db/matcher/extensions_callback.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mongo/db/matcher/extensions_callback.cpp b/src/mongo/db/matcher/extensions_callback.cpp index b74636463b1..4080df517de 100644 --- a/src/mongo/db/matcher/extensions_callback.cpp +++ b/src/mongo/db/matcher/extensions_callback.cpp @@ -97,6 +97,14 @@ ExtensionsCallback::extractTextMatchExpressionParams(BSONElement text) { return {std::move(params)}; } +StatusWithMatchExpression ExtensionsCallback::parseText(BSONElement text) const { + auto textParams = extractTextMatchExpressionParams(text); + if (!textParams.isOK()) { + return textParams.getStatus(); + } + return createText(std::move(textParams.getValue())); +} + StatusWith<WhereMatchExpressionBase::WhereParams> ExtensionsCallback::extractWhereMatchExpressionParams(BSONElement where) { WhereMatchExpressionBase::WhereParams params; @@ -120,4 +128,13 @@ ExtensionsCallback::extractWhereMatchExpressionParams(BSONElement where) { return params; } +StatusWithMatchExpression ExtensionsCallback::parseWhere( + const boost::intrusive_ptr<ExpressionContext>& expCtx, BSONElement where) const { + auto whereParams = extractWhereMatchExpressionParams(where); + if (!whereParams.isOK()) { + return whereParams.getStatus(); + } + return {createWhere(expCtx, std::move(whereParams.getValue()))}; +} + } // namespace mongo |