diff options
author | Maddie Zechar <mez2113@columbia.edu> | 2021-11-05 21:30:45 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-11-05 22:25:42 +0000 |
commit | 893b336353cbb74437d73763bbf0c1986d2d2e78 (patch) | |
tree | 32de795076efa6d4b25b2cea00120da26a1cbc6e /src/mongo/db/query/sbe_stage_builder_helpers.cpp | |
parent | cb50e527b2d886d68ab831abe6d8dc61d63237bd (diff) | |
download | mongo-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.cpp | 7 |
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(), |