summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/projection_exec_agg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/exec/projection_exec_agg.cpp')
-rw-r--r--src/mongo/db/exec/projection_exec_agg.cpp9
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