summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/db/matcher/expression_leaf.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mongo/db/matcher/expression_leaf.cpp b/src/mongo/db/matcher/expression_leaf.cpp
index dce381e8a27..843f086bf58 100644
--- a/src/mongo/db/matcher/expression_leaf.cpp
+++ b/src/mongo/db/matcher/expression_leaf.cpp
@@ -551,7 +551,10 @@ Status ArrayFilterEntries::setEqualities(std::vector<BSONElement> equalities) {
}
}
- _equalities = BSONElementFlatSet(equalities.begin(), equalities.end());
+ // Sort the list of equalities to work around https://svn.boost.org/trac10/ticket/13140.
+ std::sort(equalities.begin(), equalities.end(), BSONElementCmpWithoutField());
+ _equalities =
+ BSONElementFlatSet(equalities.begin(), equalities.end(), BSONElementCmpWithoutField());
return Status::OK();
}