diff options
Diffstat (limited to 'src/mongo/db/catalog/collection.h')
-rw-r--r-- | src/mongo/db/catalog/collection.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mongo/db/catalog/collection.h b/src/mongo/db/catalog/collection.h index 6823045b952..becfe366ab3 100644 --- a/src/mongo/db/catalog/collection.h +++ b/src/mongo/db/catalog/collection.h @@ -38,6 +38,7 @@ #include "mongo/base/status_with.h" #include "mongo/base/string_data.h" #include "mongo/bson/mutable/damage_vector.h" +#include "mongo/db/catalog/coll_mod.h" #include "mongo/db/catalog/collection_info_cache.h" #include "mongo/db/catalog/cursor_manager.h" #include "mongo/db/catalog/index_catalog.h" @@ -362,6 +363,16 @@ public: */ void temp_cappedTruncateAfter(OperationContext* txn, RecordId end, bool inclusive); + enum ValidationAction { WARN, ERROR_V }; + enum ValidationLevel { OFF, MODERATE, STRICT_V }; + + /** + * Returns a non-ok Status if validator is not legal for this collection. + */ + StatusWithMatchExpression parseValidator(const BSONObj& validator) const; + + static StatusWith<ValidationLevel> parseValidationLevel(StringData); + static StatusWith<ValidationAction> parseValidationAction(StringData); /** * Sets the validator for this collection. * @@ -428,11 +439,6 @@ private: */ Status checkValidation(OperationContext* txn, const BSONObj& document) const; - /** - * Returns a non-ok Status if validator is not legal for this collection. - */ - StatusWithMatchExpression parseValidator(const BSONObj& validator) const; - Status recordStoreGoingToMove(OperationContext* txn, const RecordId& oldLocation, const char* oldBuffer, @@ -470,11 +476,9 @@ private: BSONObj _validatorDoc; // Points into _validatorDoc. Null means no filter. std::unique_ptr<MatchExpression> _validator; - enum ValidationAction { WARN, ERROR_V } _validationAction; - enum ValidationLevel { OFF, MODERATE, STRICT_V } _validationLevel; - static StatusWith<ValidationLevel> _parseValidationLevel(StringData); - static StatusWith<ValidationAction> _parseValidationAction(StringData); + ValidationAction _validationAction; + ValidationLevel _validationLevel; // this is mutable because read only users of the Collection class // use it keep state. This seems valid as const correctness of Collection |