summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_algo.cpp
diff options
context:
space:
mode:
authorMilitsa Sotirova <militsa.sotirova@mongodb.com>2021-06-10 18:26:16 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-06-14 14:07:17 +0000
commitfd808e64b2a34bedfeeef012c2ef9314bec08e8f (patch)
tree7aa32563d0ffe82aff20c3f615b0ec922e79b7fd /src/mongo/db/matcher/expression_algo.cpp
parent28f6788e4e57219bce4a98ad95d082823f6598e5 (diff)
downloadmongo-fd808e64b2a34bedfeeef012c2ef9314bec08e8f.tar.gz
SERVER-54822: sort should be pushed automatically before unwind if sort is happening on a different field.
Diffstat (limited to 'src/mongo/db/matcher/expression_algo.cpp')
-rw-r--r--src/mongo/db/matcher/expression_algo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/matcher/expression_algo.cpp b/src/mongo/db/matcher/expression_algo.cpp
index 11a280eb9ad..ca4ba9c68bf 100644
--- a/src/mongo/db/matcher/expression_algo.cpp
+++ b/src/mongo/db/matcher/expression_algo.cpp
@@ -503,5 +503,10 @@ bool isPathPrefixOf(StringData first, StringData second) {
return second.startsWith(first) && second[first.size()] == '.';
}
+
+bool bidirectionalPathPrefixOf(StringData first, StringData second) {
+ return first == second || expression::isPathPrefixOf(first, second) ||
+ expression::isPathPrefixOf(second, first);
+}
} // namespace expression
} // namespace mongo