summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Banala <arun.banala@mongodb.com>2021-02-17 19:17:00 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-18 12:45:45 +0000
commit69f865ae18b69477467648f6356cdbfd9d035d19 (patch)
treecfd2e2c077c53f5437a49eb7cf297266c14d7f7e
parentaac35501ac8d4cea15e69ad6230d99761682ef65 (diff)
downloadmongo-69f865ae18b69477467648f6356cdbfd9d035d19.tar.gz
SERVER-54604 Add support of $_testApiVersion expression in SBE
-rw-r--r--src/mongo/db/pipeline/expression_test_api_version.cpp4
-rw-r--r--src/mongo/db/query/sbe_stage_builder_expression.cpp3
2 files changed, 3 insertions, 4 deletions
diff --git a/src/mongo/db/pipeline/expression_test_api_version.cpp b/src/mongo/db/pipeline/expression_test_api_version.cpp
index bd3f3c2e47e..7c77895bfff 100644
--- a/src/mongo/db/pipeline/expression_test_api_version.cpp
+++ b/src/mongo/db/pipeline/expression_test_api_version.cpp
@@ -38,9 +38,7 @@ REGISTER_TEST_EXPRESSION(_testApiVersion, ExpressionTestApiVersion::parse);
ExpressionTestApiVersion::ExpressionTestApiVersion(ExpressionContext* const expCtx,
bool unstable,
bool deprecated)
- : Expression(expCtx), _unstable(unstable), _deprecated(deprecated) {
- expCtx->sbeCompatible = false;
-}
+ : Expression(expCtx), _unstable(unstable), _deprecated(deprecated) {}
boost::intrusive_ptr<Expression> ExpressionTestApiVersion::parse(ExpressionContext* const expCtx,
BSONElement expr,
diff --git a/src/mongo/db/query/sbe_stage_builder_expression.cpp b/src/mongo/db/query/sbe_stage_builder_expression.cpp
index a345e99d21f..820035e8450 100644
--- a/src/mongo/db/query/sbe_stage_builder_expression.cpp
+++ b/src/mongo/db/query/sbe_stage_builder_expression.cpp
@@ -2435,7 +2435,8 @@ public:
visitConditionalExpression(expr);
}
void visit(ExpressionTestApiVersion* expr) final {
- unsupportedExpression("$_testApiVersion");
+ _context->pushExpr(
+ makeConstant(sbe::value::TypeTags::NumberInt32, sbe::value::bitcastFrom<int32_t>(1)));
}
void visit(ExpressionToLower* expr) final {
generateStringCaseConversionExpression(_context, "toLower");