summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/query_solution.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/query_solution.cpp')
-rw-r--r--src/mongo/db/query/query_solution.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/query/query_solution.cpp b/src/mongo/db/query/query_solution.cpp
index da1fa79c034..e2168669187 100644
--- a/src/mongo/db/query/query_solution.cpp
+++ b/src/mongo/db/query/query_solution.cpp
@@ -501,6 +501,16 @@ void IndexScanNode::computeProperties() {
}
equalityFields.insert(oil.name);
}
+ } else {
+ BSONObjIterator keyIter(indexKeyPattern);
+ BSONObjIterator startIter(bounds.startKey);
+ BSONObjIterator endIter(bounds.endKey);
+ while (keyIter.more() && startIter.more() && endIter.more()) {
+ BSONElement key = keyIter.next();
+ if (startIter.next() == endIter.next()) {
+ equalityFields.insert(key.fieldName());
+ }
+ }
}
if (equalityFields.empty()) {