From f92c25b160937a960a4bedc066ebcfe20dd35d09 Mon Sep 17 00:00:00 2001 From: Nicholas Zolnierz Date: Mon, 13 Feb 2023 16:34:03 -0500 Subject: SERVER-68434 Fix plan cache key encoding to account for $or in partial index expression (cherry picked from commit f15f2bf8958557b4e8fccc6e8e1c7c8c5834d209) (cherry picked from commit d19b8c60309c3a660a968ae8cf074aef92e1266d) (cherry picked from commit 65dc21eabcdc2bbf952418b6d4988a199c980d43) --- src/mongo/db/matcher/expression_algo_test.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/mongo/db/matcher/expression_algo_test.cpp') 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}]}"); -- cgit v1.2.1