![]() |
Storage Engine API
|
#include <index_catalog.h>
Public Member Functions | |
virtual | ~Impl ()=0 |
virtual Status | init (OperationContext *opCtx)=0 |
virtual bool | ok () const =0 |
virtual bool | haveAnyIndexes () const =0 |
virtual int | numIndexesTotal (OperationContext *opCtx) const =0 |
virtual int | numIndexesReady (OperationContext *opCtx) const =0 |
virtual bool | haveIdIndex (OperationContext *opCtx) const =0 |
virtual BSONObj | getDefaultIdIndexSpec () const =0 |
virtual IndexDescriptor * | findIdIndex (OperationContext *opCtx) const =0 |
virtual IndexDescriptor * | findIndexByName (OperationContext *opCtx, StringData name, bool includeUnfinishedIndexes) const =0 |
virtual IndexDescriptor * | findIndexByKeyPatternAndCollationSpec (OperationContext *opCtx, const BSONObj &key, const BSONObj &collationSpec, bool includeUnfinishedIndexes) const =0 |
virtual void | findIndexesByKeyPattern (OperationContext *opCtx, const BSONObj &key, bool includeUnfinishedIndexes, std::vector< IndexDescriptor *> *matches) const =0 |
virtual IndexDescriptor * | findShardKeyPrefixedIndex (OperationContext *opCtx, const BSONObj &shardKey, bool requireSingleKey) const =0 |
virtual void | findIndexByType (OperationContext *opCtx, const std::string &type, std::vector< IndexDescriptor *> &matches, bool includeUnfinishedIndexes) const =0 |
virtual const IndexDescriptor * | refreshEntry (OperationContext *opCtx, const IndexDescriptor *oldDesc)=0 |
virtual const IndexCatalogEntry * | getEntry (const IndexDescriptor *desc) const =0 |
virtual IndexAccessMethod * | getIndex (const IndexDescriptor *desc)=0 |
virtual const IndexAccessMethod * | getIndex (const IndexDescriptor *desc) const =0 |
virtual Status | checkUnfinished () const =0 |
virtual StatusWith< BSONObj > | createIndexOnEmptyCollection (OperationContext *opCtx, BSONObj spec)=0 |
virtual StatusWith< BSONObj > | prepareSpecForCreate (OperationContext *opCtx, const BSONObj &original) const =0 |
virtual void | dropAllIndexes (OperationContext *opCtx, bool includingIdIndex, stdx::function< void(const IndexDescriptor *)> onDropFn=nullptr)=0 |
virtual Status | dropIndex (OperationContext *opCtx, IndexDescriptor *desc)=0 |
virtual std::vector< BSONObj > | getAndClearUnfinishedIndexes (OperationContext *opCtx)=0 |
virtual bool | isMultikey (OperationContext *opCtx, const IndexDescriptor *idx)=0 |
virtual MultikeyPaths | getMultikeyPaths (OperationContext *opCtx, const IndexDescriptor *idx)=0 |
virtual Status | indexRecords (OperationContext *opCtx, const std::vector< BsonRecord > &bsonRecords, int64_t *keysInsertedOut)=0 |
virtual void | unindexRecord (OperationContext *opCtx, const BSONObj &obj, const RecordId &loc, bool noWarn, int64_t *keysDeletedOut)=0 |
virtual std::string | getAccessMethodName (OperationContext *opCtx, const BSONObj &keyPattern)=0 |
virtual Status | _upgradeDatabaseMinorVersionIfNeeded (OperationContext *opCtx, const std::string &newPluginName)=0 |
Private Member Functions | |
virtual const Collection * | _getCollection () const =0 |
virtual Collection * | _getCollection ()=0 |
virtual IndexCatalogEntry * | _setupInMemoryStructures (OperationContext *opCtx, std::unique_ptr< IndexDescriptor > descriptor, bool initFromDisk)=0 |
virtual Status | _dropIndex (OperationContext *opCtx, IndexCatalogEntry *entry)=0 |
virtual const IndexCatalogEntryContainer & | _getEntries () const =0 |
virtual IndexCatalogEntryContainer & | _getEntries ()=0 |
virtual void | _deleteIndexFromDisk (OperationContext *const opCtx, const std::string &indexName, const std::string &indexNamespace)=0 |
Private Attributes | |
friend | IndexCatalog |
|
pure virtualdefault |
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
privatepure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
pure virtual |
Implemented in mongo::IndexCatalogImpl.
|
private |