summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/sbe/vm/vm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/exec/sbe/vm/vm.h')
-rw-r--r--src/mongo/db/exec/sbe/vm/vm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/exec/sbe/vm/vm.h b/src/mongo/db/exec/sbe/vm/vm.h
index 1b24904b08c..236681a9a02 100644
--- a/src/mongo/db/exec/sbe/vm/vm.h
+++ b/src/mongo/db/exec/sbe/vm/vm.h
@@ -231,6 +231,9 @@ enum class Builtin : uint8_t {
setIntersection,
setDifference,
runJsPredicate,
+ regexCompile, // compile <pattern, options> into value::pcreRegex
+ regexFind,
+ regexFindAll,
};
using SmallArityType = uint8_t;
@@ -582,6 +585,9 @@ private:
std::tuple<bool, value::TypeTags, value::Value> builtinSetIntersection(ArityType arity);
std::tuple<bool, value::TypeTags, value::Value> builtinSetDifference(ArityType arity);
std::tuple<bool, value::TypeTags, value::Value> builtinRunJsPredicate(ArityType arity);
+ std::tuple<bool, value::TypeTags, value::Value> builtinRegexCompile(ArityType arity);
+ std::tuple<bool, value::TypeTags, value::Value> builtinRegexFind(ArityType arity);
+ std::tuple<bool, value::TypeTags, value::Value> builtinRegexFindAll(ArityType arity);
std::tuple<bool, value::TypeTags, value::Value> dispatchBuiltin(Builtin f, ArityType arity);