summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/projection.cpp
diff options
context:
space:
mode:
authorLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-18 17:02:53 -0300
committerLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-18 17:02:53 -0300
commit959575a5ca598bf5f37fb5cebe7ed1d80d3d71f7 (patch)
treeacc8d60aedb12b70048e676e8a7349deb0010db8 /src/mongo/db/query/projection.cpp
parent76588293975fc059cf076779e4283e6ffaf8afff (diff)
New upstream version 6.0.20upstream
Diffstat (limited to 'src/mongo/db/query/projection.cpp')
-rw-r--r--src/mongo/db/query/projection.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/query/projection.cpp b/src/mongo/db/query/projection.cpp
index b55fc03602a..2646b39bd8c 100644
--- a/src/mongo/db/query/projection.cpp
+++ b/src/mongo/db/query/projection.cpp
@@ -227,6 +227,13 @@ void optimizeProjection(ProjectionPathASTNode* root) {
Projection::Projection(ProjectionPathASTNode root, ProjectType type)
: _root(std::move(root)), _type(type), _deps(analyzeProjection(&_root, type)) {}
+void Projection::optimize() {
+ if (!_projOptimized) {
+ optimizeProjection(&_root);
+ _deps = analyzeProjection(&_root, _type);
+ _projOptimized = true;
+ }
+}
namespace {
/**