summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec
diff options
context:
space:
mode:
authorNicholas Zolnierz <nicholas.zolnierz@mongodb.com>2022-02-01 13:57:28 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-01 14:25:47 +0000
commit3688d67613ff68795b42425d9a53a24a76940b19 (patch)
treed83bd26ad1cab37e7f627cb111130b91c5e943d4 /src/mongo/db/exec
parent6d509615d2d6ef7af38e1b982b6272a54e9b591c (diff)
downloadmongo-3688d67613ff68795b42425d9a53a24a76940b19.tar.gz
SERVER-63079 Avoid using projection parser in $setWindowFields execution
Diffstat (limited to 'src/mongo/db/exec')
-rw-r--r--src/mongo/db/exec/add_fields_projection_executor.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/exec/add_fields_projection_executor.h b/src/mongo/db/exec/add_fields_projection_executor.h
index 39fe73946ab..c2c8e8481e3 100644
--- a/src/mongo/db/exec/add_fields_projection_executor.h
+++ b/src/mongo/db/exec/add_fields_projection_executor.h
@@ -57,6 +57,13 @@ public:
ProjectionPolicies::ComputedFieldsPolicy::kAllowComputedFields}),
_root(new InclusionNode(_policies)) {}
+ AddFieldsProjectionExecutor(const boost::intrusive_ptr<ExpressionContext>& expCtx,
+ std::unique_ptr<InclusionNode> root)
+ : ProjectionExecutor(expCtx,
+ {ProjectionPolicies::DefaultIdPolicy::kIncludeId,
+ ProjectionPolicies::ArrayRecursionPolicy::kRecurseNestedArrays,
+ ProjectionPolicies::ComputedFieldsPolicy::kAllowComputedFields}),
+ _root(std::move(root)) {}
/**
* Creates the data needed to perform an AddFields.
* Verifies that there are no conflicting paths in the specification.