33 #include "mongo/db/index/index_access_method.h" 34 #include "mongo/db/index/index_descriptor.h" 35 #include "mongo/db/operation_context.h" 40 class IndexConsistency;
44 using ValidateResultsMap = std::map<std::string, ValidateResults>;
57 ValidateResultsMap* irm)
60 _indexConsistency(indexConsistency),
63 _indexNsResultsMap(irm) {}
69 virtual Status validate(
const RecordId& recordId,
const RecordData& record,
size_t* dataSize);
75 void traverseIndex(
const IndexAccessMethod* iam,
78 int64_t* numTraversedKeys);
87 BSONObjBuilder* output);
92 void validateIndexKeyCount(IndexDescriptor*
idx, int64_t numRecs,
ValidateResults& results);
ValidateCmdLevel
Definition: record_store.h:93
IndexCatalog * _indexCatalog
Definition: record_store_validate_adaptor.h:98
Definition: record_store.h:671
IndexConsistency * _indexConsistency
Definition: record_store_validate_adaptor.h:96
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
OperationContext * _opCtx
Definition: index_consistency.h:242
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool const BSONObj &idIndex Status
Definition: database_impl.cpp:956
A replacement for the Record class.
Definition: record_data.h:43
ValidateResultsMap * _indexNsResultsMap
Definition: record_store_validate_adaptor.h:99
This is so when a RecordStore is validating all records it can call back to someone to check if a rec...
Definition: record_store.h:685
const IndexDescriptor * idx
Definition: coll_mod.cpp:70
RecordStoreValidateAdaptor(OperationContext *opCtx, IndexConsistency *indexConsistency, ValidateCmdLevel level, IndexCatalog *ic, ValidateResultsMap *irm)
Definition: record_store_validate_adaptor.h:53
how many: 1 per Collection.
Definition: index_catalog.h:62
Collection *const OperationContext *const const StringData OptionalCollectionUUID CollectionCatalogEntry *const RecordStore *const recordStore
Definition: collection_impl.cpp:80
Definition: index_consistency.h:84
OperationContext * _opCtx
Definition: record_store_validate_adaptor.h:95
An abstraction used for storing documents in a collection or entries in an index. ...
Definition: record_store.h:282
IndexCatalogEntry *const OperationContext *const const StringData CollectionCatalogEntry *const std::unique_ptr< IndexDescriptor > descriptor
Definition: index_catalog_entry_impl.cpp:58
The record store validate adaptor is used to keep track of the index consistency during a validation ...
Definition: record_store_validate_adaptor.h:51
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
ValidateCmdLevel _level
Definition: record_store_validate_adaptor.h:97