summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/query_solution.h
diff options
context:
space:
mode:
authorEric Cox <eric.cox@mongodb.com>2021-09-10 17:33:18 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-09-10 18:11:19 +0000
commit8cf8e390e760657ac0405d3c2fd4ea931a3e3ab0 (patch)
treed0e4a8cf562dda3d870109eb4ea2449fc113dd35 /src/mongo/db/query/query_solution.h
parentefad1224fba430f2f8346a924fe929861d9bdf4a (diff)
downloadmongo-8cf8e390e760657ac0405d3c2fd4ea931a3e3ab0.tar.gz
SERVER-58428 Combine $group solution nodes and the winning plan into single solution
Diffstat (limited to 'src/mongo/db/query/query_solution.h')
-rw-r--r--src/mongo/db/query/query_solution.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/query/query_solution.h b/src/mongo/db/query/query_solution.h
index f31fd8ea294..75365ecb3de 100644
--- a/src/mongo/db/query/query_solution.h
+++ b/src/mongo/db/query/query_solution.h
@@ -363,6 +363,13 @@ public:
}
/**
+ * Extends the solution's tree by attaching it to the tree rooted at 'extensionRoot'. The
+ * extension tree must contain exactly one 'SentinelNode' node that denotes the attachment
+ * point. The sentinel node will be replaces with the '_root' node.
+ */
+ void extendWith(std::unique_ptr<QuerySolutionNode> extensionRoot);
+
+ /**
* Assigns the QuerySolutionNode rooted at 'root' to this QuerySolution. Also assigns a unique
* identifying integer to each node in the tree, which can subsequently be displayed in debug
* output (e.g. explain).