summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/sbe_stage_builder_helpers.cpp
diff options
context:
space:
mode:
authorMaddie Zechar <mez2113@columbia.edu>2021-11-05 21:30:45 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-11-05 22:25:42 +0000
commit893b336353cbb74437d73763bbf0c1986d2d2e78 (patch)
tree32de795076efa6d4b25b2cea00120da26a1cbc6e /src/mongo/db/query/sbe_stage_builder_helpers.cpp
parentcb50e527b2d886d68ab831abe6d8dc61d63237bd (diff)
downloadmongo-893b336353cbb74437d73763bbf0c1986d2d2e78.tar.gz
SERVER-32739: Allow limit in $filter expression
Diffstat (limited to 'src/mongo/db/query/sbe_stage_builder_helpers.cpp')
-rw-r--r--src/mongo/db/query/sbe_stage_builder_helpers.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/query/sbe_stage_builder_helpers.cpp b/src/mongo/db/query/sbe_stage_builder_helpers.cpp
index 2ca830d5c2f..700454de8de 100644
--- a/src/mongo/db/query/sbe_stage_builder_helpers.cpp
+++ b/src/mongo/db/query/sbe_stage_builder_helpers.cpp
@@ -157,6 +157,13 @@ std::unique_ptr<sbe::EExpression> generateNonPositiveCheck(const sbe::EVariable&
sbe::value::bitcastFrom<int32_t>(0)));
}
+std::unique_ptr<sbe::EExpression> generatePositiveCheck(const sbe::EVariable& var) {
+ return makeBinaryOp(sbe::EPrimBinary::EPrimBinary::greater,
+ var.clone(),
+ sbe::makeE<sbe::EConstant>(sbe::value::TypeTags::NumberInt32,
+ sbe::value::bitcastFrom<int32_t>(0)));
+}
+
std::unique_ptr<sbe::EExpression> generateNegativeCheck(const sbe::EVariable& var) {
return makeBinaryOp(sbe::EPrimBinary::EPrimBinary::less,
var.clone(),