summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_tree.h
diff options
context:
space:
mode:
authorBenjamin Murphy <benjamin_murphy@me.com>2016-02-12 16:20:51 -0500
committerBenjamin Murphy <benjamin_murphy@me.com>2016-03-30 16:21:13 -0400
commit2b56c5ce4527403329bc60ee406a0f1a7de3f10a (patch)
tree3124ce031943a41c3fb1138095f1e565378be72a /src/mongo/db/matcher/expression_tree.h
parent46d994e5c186e9634896db0d434db0a635ffc60b (diff)
downloadmongo-2b56c5ce4527403329bc60ee406a0f1a7de3f10a.tar.gz
SERVER-20506 Conditionally order match and unwind.
Diffstat (limited to 'src/mongo/db/matcher/expression_tree.h')
-rw-r--r--src/mongo/db/matcher/expression_tree.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/matcher/expression_tree.h b/src/mongo/db/matcher/expression_tree.h
index 2b65bc9d2f6..50786402a85 100644
--- a/src/mongo/db/matcher/expression_tree.h
+++ b/src/mongo/db/matcher/expression_tree.h
@@ -65,6 +65,12 @@ public:
return _expressions[i];
}
+ virtual std::unique_ptr<MatchExpression> releaseChild(size_t i) {
+ auto child = std::unique_ptr<MatchExpression>(_expressions[i]);
+ _expressions[i] = nullptr;
+ return std::move(child);
+ }
+
virtual std::vector<MatchExpression*>* getChildVector() {
return &_expressions;
}