![]() |
Storage Engine API
|
#include <index_catalog_entry.h>
Classes | |
class | Impl |
struct | TUHook |
Public Member Functions | |
IndexCatalogEntry (OperationContext *opCtx, StringData ns, CollectionCatalogEntry *collection, std::unique_ptr< IndexDescriptor > descriptor, CollectionInfoCache *infoCache) | |
IndexCatalogEntry (std::unique_ptr< Impl > impl) | |
~IndexCatalogEntry ()=default | |
IndexCatalogEntry (IndexCatalogEntry &&)=delete | |
IndexCatalogEntry & | operator= (IndexCatalogEntry &&)=delete |
const std::string & | ns () const |
void | init (std::unique_ptr< IndexAccessMethod > accessMethod) |
IndexDescriptor * | descriptor () |
const IndexDescriptor * | descriptor () const |
IndexAccessMethod * | accessMethod () |
const IndexAccessMethod * | accessMethod () const |
const Ordering & | ordering () const |
const MatchExpression * | getFilterExpression () const |
const CollatorInterface * | getCollator () const |
const RecordId & | head (OperationContext *const opCtx) const |
More... | |
void | setHead (OperationContext *const opCtx, const RecordId newHead) |
void | setIsReady (const bool newIsReady) |
HeadManager * | headManager () const |
bool | isMultikey (OperationContext *opCtx) const |
Returns true if this index is multikey and false otherwise. More... | |
MultikeyPaths | getMultikeyPaths (OperationContext *const opCtx) const |
Returns the path components that cause this index to be multikey if this index supports path-level multikey tracking, and returns an empty vector if path-level multikey tracking isn't supported. More... | |
void | setMultikey (OperationContext *const opCtx, const MultikeyPaths &multikeyPaths) |
Sets this index to be multikey. More... | |
bool | isReady (OperationContext *const opCtx) const |
KVPrefix | getPrefix () const |
boost::optional< Timestamp > | getMinimumVisibleSnapshot () |
If return value is not boost::none, reads with majority read concern using an older snapshot must treat this index as unfinished. More... | |
void | setMinimumVisibleSnapshot (const Timestamp name) |
Static Public Member Functions | |
static | MONGO_DECLARE_SHIM ((IndexCatalogEntry *this_, OperationContext *opCtx, StringData ns, CollectionCatalogEntry *collection, std::unique_ptr< IndexDescriptor > descriptor, CollectionInfoCache *infoCache, PrivateTo< IndexCatalogEntry >) ->std::unique_ptr< Impl >) makeImpl |
Private Member Functions | |
const Impl & | _impl () const |
Impl & | _impl () |
Private Attributes | |
std::unique_ptr< Impl > | _pimpl |
|
explicit |
|
inlineexplicit |
|
inlinedefault |
|
inlinedelete |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
If return value is not boost::none, reads with majority read concern using an older snapshot must treat this index as unfinished.
|
inline |
Returns the path components that cause this index to be multikey if this index supports path-level multikey tracking, and returns an empty vector if path-level multikey tracking isn't supported.
If this index supports path-level multikey tracking but isn't multikey, then this function returns a vector with size equal to the number of elements in the index key pattern where each element in the vector is an empty set.
|
inline |
|
inline |
|
inline |
void mongo::IndexCatalogEntry::init | ( | std::unique_ptr< IndexAccessMethod > | accessMethod | ) |
|
inline |
Returns true if this index is multikey and false otherwise.
|
inline |
|
static |
|
inline |
|
inlinedelete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets this index to be multikey.
Information regarding which newly detected path components cause this index to be multikey can also be specified.
If this index doesn't support path-level multikey tracking, then 'multikeyPaths' is ignored.
If this index supports path-level multikey tracking, then 'multikeyPaths' must be a vector with size equal to the number of elements in the index key pattern. Additionally, at least one path component of the indexed fields must cause this index to be multikey.
If isTrackingMultikeyPathInfo() is set on the OperationContext's MultikeyPathTracker, then after we confirm that we actually need to set the index as multikey, we will save the namespace, index name, and multikey paths on the OperationContext rather than set the index as multikey here.
|
private |