diff options
Diffstat (limited to 'src/mongo/db/exec/projection_exec_agg.cpp')
-rw-r--r-- | src/mongo/db/exec/projection_exec_agg.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/exec/projection_exec_agg.cpp b/src/mongo/db/exec/projection_exec_agg.cpp index 65c780fa3b4..d841d5d93f0 100644 --- a/src/mongo/db/exec/projection_exec_agg.cpp +++ b/src/mongo/db/exec/projection_exec_agg.cpp @@ -73,6 +73,12 @@ public: expCtx, projSpec, idPolicy, recursionPolicy, ProjectionParseMode::kBanComputedFields); } + std::set<std::string> getExhaustivePaths() const { + DepsTracker depsTracker; + _projection->addDependencies(&depsTracker); + return depsTracker.fields; + } + ProjectionType getType() const { return (_projection->getType() == TransformerType::kInclusionProjection ? ProjectionType::kInclusionProjection @@ -136,4 +142,7 @@ stdx::unordered_set<std::string> ProjectionExecAgg::applyProjectionToFields( return _exec->applyProjectionToFields(fields); } +std::set<std::string> ProjectionExecAgg::getExhaustivePaths() const { + return _exec->getExhaustivePaths(); +} } // namespace mongo |