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)
78 int64_t* numTraversedKeys);
87 BSONObjBuilder* output);
ValidateCmdLevel
Definition: record_store.h:93
IndexCatalog * _indexCatalog
Definition: record_store_validate_adaptor.h:98
void traverseRecordStore(RecordStore *recordStore, ValidateCmdLevel level, ValidateResults *results, BSONObjBuilder *output)
Traverses the record store to retrieve every record and go through its document key set to keep track...
Definition: record_store_validate_adaptor.cpp:161
Definition: record_store.h:673
IndexConsistency * _indexConsistency
Definition: record_store_validate_adaptor.h:96
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
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:687
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
void validateIndexKeyCount(IndexDescriptor *idx, int64_t numRecs, ValidateResults &results)
Validate that the number of document keys matches the number of index keys.
Definition: record_store_validate_adaptor.cpp:215
OperationContext Database StringData CollectionOptions bool const BSONObj &idIndex Status
Definition: database_impl.cpp:955
Definition: index_consistency.h:84
virtual Status validate(const RecordId &recordId, const RecordData &record, size_t *dataSize)
Validates the BSON object and traverses through its key set to keep track of the index consistency.
Definition: record_store_validate_adaptor.cpp:49
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
void traverseIndex(const IndexAccessMethod *iam, const IndexDescriptor *descriptor, ValidateResults *results, int64_t *numTraversedKeys)
Traverses the index getting index entriess to validate them and keep track of the index keys for inde...
Definition: record_store_validate_adaptor.cpp:120
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