diff options
author | Nicholas Zolnierz <nicholas.zolnierz@mongodb.com> | 2022-02-01 13:57:28 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-02-01 14:25:47 +0000 |
commit | 3688d67613ff68795b42425d9a53a24a76940b19 (patch) | |
tree | d83bd26ad1cab37e7f627cb111130b91c5e943d4 /src/mongo/db/exec | |
parent | 6d509615d2d6ef7af38e1b982b6272a54e9b591c (diff) | |
download | mongo-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.h | 7 |
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. |