diff options
author | Nick Zolnierz <nicholas.zolnierz@mongodb.com> | 2018-03-20 17:56:02 -0400 |
---|---|---|
committer | Nick Zolnierz <nicholas.zolnierz@mongodb.com> | 2018-03-20 17:57:31 -0400 |
commit | 2682dbfb28324406f6eded1f22f6e342a392ff13 (patch) | |
tree | 1a12a708dd45c159ce3a803090a7397e40fc68b7 /src/mongo/db/catalog/index_catalog_impl.cpp | |
parent | 152e55c697613b0d99c619e9569fd6e57c303d2f (diff) | |
download | mongo-2682dbfb28324406f6eded1f22f6e342a392ff13.tar.gz |
Revert "SERVER-30005: remove $isolated/$atomic option"
This reverts commit cd950b113ee0d00e88036b2fe6306866c7ba27f9.
Diffstat (limited to 'src/mongo/db/catalog/index_catalog_impl.cpp')
-rw-r--r-- | src/mongo/db/catalog/index_catalog_impl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mongo/db/catalog/index_catalog_impl.cpp b/src/mongo/db/catalog/index_catalog_impl.cpp index 525ace9c0e5..bb19de5ab76 100644 --- a/src/mongo/db/catalog/index_catalog_impl.cpp +++ b/src/mongo/db/catalog/index_catalog_impl.cpp @@ -686,12 +686,15 @@ Status IndexCatalogImpl::_isSpecOk(OperationContext* opCtx, const BSONObj& spec) new ExpressionContext(opCtx, collator.get())); // Parsing the partial filter expression is not expected to fail here since the - // expression would have been successfully parsed upstream during index creation. + // expression would have been successfully parsed upstream during index creation. However, + // filters that were allowed in partial filter expressions prior to 3.6 may be present in + // the index catalog and must also successfully parse (e.g., partial index filters with the + // $isolated/$atomic option). StatusWithMatchExpression statusWithMatcher = MatchExpressionParser::parse(filterElement.Obj(), std::move(expCtx), ExtensionsCallbackNoop(), - MatchExpressionParser::kBanAllSpecialFeatures); + MatchExpressionParser::kIsolated); if (!statusWithMatcher.isOK()) { return statusWithMatcher.getStatus(); } |