diff options
Diffstat (limited to 'src/mongo/db/matcher/expression_leaf.cpp')
-rw-r--r-- | src/mongo/db/matcher/expression_leaf.cpp | 5 |
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(); } |