summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/collection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/catalog/collection.h')
-rw-r--r--src/mongo/db/catalog/collection.h22
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