summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/extensions_callback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/matcher/extensions_callback.cpp')
-rw-r--r--src/mongo/db/matcher/extensions_callback.cpp17
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