summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_algo_test.cpp
diff options
context:
space:
mode:
authorNicholas Zolnierz <nicholas.zolnierz@mongodb.com>2023-02-13 16:34:03 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-02-16 19:20:30 +0000
commitf92c25b160937a960a4bedc066ebcfe20dd35d09 (patch)
treebcfc6a5dad17c21232f890f16f9ef99595c4bbed /src/mongo/db/matcher/expression_algo_test.cpp
parent5e4ec1d24431fcdd28b579a024c5c801b8cde4e2 (diff)
downloadmongo-v4.2.tar.gz
SERVER-68434 Fix plan cache key encoding to account for $or in partial index expressionv4.2
(cherry picked from commit f15f2bf8958557b4e8fccc6e8e1c7c8c5834d209) (cherry picked from commit d19b8c60309c3a660a968ae8cf074aef92e1266d) (cherry picked from commit 65dc21eabcdc2bbf952418b6d4988a199c980d43)
Diffstat (limited to 'src/mongo/db/matcher/expression_algo_test.cpp')
-rw-r--r--src/mongo/db/matcher/expression_algo_test.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/matcher/expression_algo_test.cpp b/src/mongo/db/matcher/expression_algo_test.cpp
index 68075fbb396..41bbb9b1799 100644
--- a/src/mongo/db/matcher/expression_algo_test.cpp
+++ b/src/mongo/db/matcher/expression_algo_test.cpp
@@ -177,6 +177,14 @@ TEST(ExpressionAlgoIsSubsetOf, CompareAnd_GT) {
ASSERT_FALSE(expression::isSubsetOf(filter.get(), query.get()));
}
+TEST(ExpressionAlgoIsSubsetOf, CompareAnd_SingleField) {
+ ParsedMatchExpression filter("{a: {$gt: 5, $lt: 7}}");
+ ParsedMatchExpression query("{a: {$gt: 5, $lt: 6}}");
+
+ ASSERT_TRUE(expression::isSubsetOf(query.get(), filter.get()));
+ ASSERT_FALSE(expression::isSubsetOf(filter.get(), query.get()));
+}
+
TEST(ExpressionAlgoIsSubsetOf, CompareOr_LT) {
ParsedMatchExpression lt5("{a: {$lt: 5}}");
ParsedMatchExpression eq2OrEq3("{$or: [{a: 2}, {a: 3}]}");