![]() |
Storage Engine API
|
Copyright (C) 2014 MongoDB Inc. More...
Namespaces | |
catalog | |
CType | |
dur | |
harness_helper_detail | |
index_key_validate | |
oploghack | |
partitioned_detail | |
PointerTable | |
repl | |
Classes | |
class | AlignedBuilder |
a page-aligned BufBuilder. More... | |
class | ArtificialTreeBuilder |
Tool to construct custom tree shapes for tests. More... | |
class | AutoAcquireFlushLockForMMAPV1Commit |
This explains how the MMAP V1 durability system is implemented. More... | |
class | AutoYieldFlushLockForMMAPV1Commit |
At global synchronization points, such as drop database we are running under a global exclusive lock and without an active write unit of work, doing changes which require global commit. More... | |
class | BalanceLeftEmpty |
class | BalanceOneLeftToRight |
class | BalanceOneRightToLeft |
class | BalanceRightEmpty |
class | BalanceSingleParentKey |
class | BalanceSingleParentKeyPackParent |
class | BalanceSplitParent |
class | BalanceThreeLeftToRight |
class | BalanceThreeRightToLeft |
class | BSONCollectionCatalogEntry |
This is a helper class for any storage engine that wants to store catalog information as BSON. More... | |
struct | BsonRecord |
class | BtreeBucket |
struct | BtreeBucketV0 |
This structure represents header data for a btree bucket. More... | |
struct | BtreeBucketV1 |
struct | BtreeLayoutV0 |
struct | BtreeLayoutV1 |
class | BtreeLogic |
This is the logic for manipulating the Btree. More... | |
class | BtreeLogicTestBase |
This class is made friend of BtreeLogic so we can add whatever private method accesses we need to it, to be used by the tests. More... | |
struct | BtreeLogicTestHelper |
This structure encapsulates a Btree and all the infrastructure needed by it (head manager, record store and a valid disk location to use by the tests). More... | |
class | BtreeLogicTestSuite |
class | CantMergeLeftNoMerge |
class | CantMergeRightNoMerge |
class | CappedCallback |
When a capped collection is modified (delete/insert/etc) then certain notifications need to be made, which this (pure virtual) interface exposes. More... | |
class | CappedInsertNotifier |
Queries with the awaitData option use this notifier object to wait for more data to be inserted into the capped collection. More... | |
class | CappedRecordStoreV1 |
class | CappedRecordStoreV1Iterator |
This class iterates over a capped collection identified by 'ns'. More... | |
struct | CmpUnitTest |
class | Collection |
this is NOT safe through a yield right now. More... | |
class | CollectionCatalogEntry |
class | CollectionImpl |
class | CollectionInfoCache |
this is for storing things that you want to cache about a single collection life cycle is managed for you from inside Collection. More... | |
class | CollectionInfoCacheImpl |
this is for storing things that you want to cache about a single collection life cycle is managed for you from inside Collection More... | |
class | CollectionMock |
This class comprises a mock Collection for use by UUIDCatalog unit tests. More... | |
struct | CollectionOptions |
class | CommitNotifier |
Establishes a synchronization point between threads. More... | |
class | CompactDocWriter |
struct | CompactOptions |
struct | CompactStats |
class | CondVarLockGrantNotification |
Notfication callback, which stores the last notification result and signals a condition variable, which can be waited on. More... | |
struct | CounterOps |
Operations for manipulating the lock statistics abstracting whether they are atomic or not. More... | |
class | Database |
Represents a logical database containing Collections. More... | |
class | DatabaseCatalogEntry |
class | DatabaseHolder |
Registry of opened databases. More... | |
class | DatabaseHolderImpl |
Registry of opened databases. More... | |
class | DatabaseHolderMock |
Registry of opened databases. More... | |
class | DatabaseImpl |
Represents a logical database containing Collections. More... | |
class | DataFile |
class | DataFileHeader |
class | DataFileSync |
does background async flushes of mmapped files More... | |
class | DataFileVersion |
class | DataProtector |
Performs an implementation specific transformation on a series of input buffers to produce a protected form of their concatenated contents. More... | |
class | DeadlockDetector |
Iteratively builds the wait-for graph, starting from a given blocked Locker and stops either when all reachable nodes have been checked or if a cycle is detected. More... | |
class | DeferredWriter |
Provides an interface for asynchronously adding to a collection. More... | |
class | DelEmptyEmptyNeighbors |
class | DelEmptyNoNeighbors |
class | DeletedRecord |
class | DelInternal |
class | DelInternalPromoteKey |
class | DelInternalPromoteRightKey |
class | DelInternalReplacementNextNonNull |
class | DelInternalReplacementPrevNonNull |
class | DelInternalReplaceRight |
class | DelInternalReplaceWithUnused |
class | DelInternalSplitPromoteLeft |
class | DelInternalSplitPromoteRight |
class | DevNullKVEngine |
The devnull storage engine is intended for unit and performance testing. More... | |
class | DevNullRecordStore |
class | DevNullSortedDataBuilderInterface |
class | DevNullSortedDataInterface |
class | DisableDocumentValidation |
Disables document validation on a single OperationContext while in scope. More... | |
class | DisableDocumentValidationIfTrue |
Disables document validation while in scope if the constructor is passed true. More... | |
class | DiskLoc |
represents a disk location/offset on disk in a database. More... | |
struct | DiskLoc56Bit |
A variant of DiskLoc Used by the V1 bucket type. More... | |
class | DocWriter |
Allows inserting a Record "in-place" without creating a copy ahead of time. More... | |
class | DontMergeSingleBucket |
class | DontReuseUnused |
class | DummyDocWriter |
class | DummyExtentManager |
class | DummyRecordStoreV1MetaData |
class | DuplicateKeys |
class | DurableMappedFile |
DurableMappedFile adds some layers atop memory mapped files - specifically our handling of private views & such. More... | |
class | DurRecoveryUnit |
Just pass through to getDur(). More... | |
class | EmptyRecordCursor |
class | EncryptionHooks |
class | EphemeralForTestEngine |
class | EphemeralForTestRecordStore |
A RecordStore that stores all data in-memory. More... | |
class | EphemeralForTestRecoveryUnit |
class | EvenRebalanceCenter |
class | EvenRebalanceLeft |
class | EvenRebalanceLeftCusp |
class | EvenRebalanceRight |
class | EvenRebalanceRightCusp |
class | ExportedMaxIndexBuildMemoryUsageParameter |
struct | Extent |
class | ExtentManager |
ExtentManager basics. More... | |
class | FastMapNoAlloc |
NOTE: This structure should not be used for anything other than the Lock Manager. More... | |
class | FileAllocator |
class | FileOp |
struct | FixedWidthKey |
This is the fixed width data component for storage of a key within a bucket. More... | |
class | ForceMergeLeft |
class | ForceMergeRight |
class | ForceSupportsDocLocking |
class | GlobalLockAcquisitionTracker |
The GlobalLockAcquisitionTracker keeps track of if the global lock has ever been taken in X or IX mode. More... | |
class | HarnessHelper |
Sets up an OperationContext with a Recovery Unit. More... | |
class | HeadManager |
An abstraction for setting and getting data about the 'head' of an index. More... | |
class | HeadManagerImpl |
class | HealthLog |
The interface to the local healthlog. More... | |
class | HeapRecordStoreBtree |
A RecordStore that stores all data on the heap. More... | |
class | HeapRecordStoreBtreeRecoveryUnit |
A RecoveryUnit for HeapRecordStoreBtree, this is for testing btree only. More... | |
class | IndexCatalog |
how many: 1 per Collection. More... | |
class | IndexCatalogEntry |
class | IndexCatalogEntryContainer |
class | IndexCatalogEntryImpl |
class | IndexCatalogImpl |
how many: 1 per Collection. More... | |
class | IndexConsistency |
struct | IndexDetails |
class | IndexEntryComparison |
Compares two different IndexKeyEntry instances. More... | |
struct | IndexInfo |
The IndexConsistency class is used to keep track of the index consistency. More... | |
struct | IndexKeyEntry |
Represents a single item in an index. More... | |
struct | IndexSeekPoint |
Describes a query that can be compared against an IndexKeyEntry in a way that allows expressing exclusiveness on a prefix of the key. More... | |
class | IndexUpdateTest |
class | JournalLatencyTestCmd |
class | JournalListener |
This class allows for the storageEngine to alert the rest of the system about journaled write progress. More... | |
class | JournalSectionCorruptException |
Thrown when a journal section is corrupt. More... | |
class | KeyBson |
Key class for precomputing a small format index key that is denser than a traditional BSONObj. More... | |
class | KeyString |
class | KeyV1 |
class | KeyV1Owned |
class | KVCatalog |
class | KVCollectionCatalogEntry |
class | KVDatabaseCatalogEntry |
class | KVDatabaseCatalogEntryBase |
class | KVDatabaseCatalogEntryMock |
class | KVEngine |
class | KVHarnessHelper |
Creates a harness for generic KVEngine testing of all KVEngine implementations. More... | |
class | KVPrefix |
A KVPrefix may be prepended to the keys of entries in an underlying KV store. More... | |
class | KVStorageEngine |
struct | KVStorageEngineOptions |
class | KVStorageEngineTest |
struct | LocAndSize |
class | LocateEmptyForward |
class | LocateEmptyReverse |
class | Lock |
class | Locker |
Interface for acquiring locks. More... | |
class | LockerForTests |
class | LockerImpl |
Interface for acquiring locks. More... | |
class | LockerNoop |
Locker, which cannot be used to lock/unlock resources and just returns true for checks for whether a particular resource is locked. More... | |
class | LockGrantNotification |
Interface on which granted lock requests will be notified. More... | |
struct | LockHead |
There is one of these objects for each resource that has a lock request. More... | |
class | LockManager |
Entry point for the lock manager scheduling functionality. More... | |
class | LockMongoFilesExclusive |
class | LockMongoFilesShared |
struct | LockRequest |
There is one of those entries per each request for a lock. More... | |
struct | LockRequestCombo |
class | LockRequestList |
Simple intrusive list implementation for the lock's granted and conflicting lists. More... | |
struct | LockStatCounters |
Bundle of locking statistics values. More... | |
class | LockStats |
Templatized lock statistics management class, which can be specialized with atomic integers for the global stats and with regular integers for the per-locker stats. More... | |
class | LogFile |
class | MAdvise |
class | MemJournalServerStatusMetric |
class | MemoryMappedFile |
class | MergeBucketsDelInternal |
class | MergeBucketsDontReplaceHead |
class | MergeBucketsLeft |
class | MergeBucketsRight |
class | MergeBucketsRightNull |
class | MergeBucketsTestBase |
class | MergeLeftEmpty |
class | MergeMinLeftEmpty |
class | MergeMinRightEmpty |
class | MergeOption |
class | MergeRightEmpty |
class | MergeSizeJustRightLeft |
class | MergeSizeJustRightRight |
class | MergeSizeLeft |
class | MergeSizeLeftTooBig |
class | MergeSizeRight |
class | MergeSizeRightTooBig |
class | MergeSizeTestBase |
class | MissingLocate |
class | MissingLocateMultiBucket |
class | MMAPV1DatabaseCatalogEntry |
class | MMAPV1Engine |
class | MmapV1ExtentManager |
ExtentManager basics. More... | |
struct | MMAPV1Options |
class | MmapV1RecordFetcher |
class | MmapV1RecordHeader |
class | MobileDelayedOpQueue |
This class manages a queue of operations delayed for some reason. More... | |
class | MobileIndex |
class | MobileIndexStandard |
class | MobileIndexTestHarnessHelper |
class | MobileIndexUnique |
class | MobileKVEngine |
class | MobileRecordStore |
A RecordStore that stores all data in SQLite. More... | |
class | MobileRecoveryUnit |
class | MobileSession |
This class manages a SQLite database connection object. More... | |
class | MobileSessionPool |
This class manages a pool of open sqlite3* objects. More... | |
class | MongoFile |
class | MongoFileFinder |
look up a MMF by filename. More... | |
class | MoveBelowLowWaterMarkLeft |
class | MoveBelowLowWaterMarkRight |
class | MultiIndexBlock |
Builds one or more indexes. More... | |
class | MultiIndexBlockImpl |
Builds one or more indexes. More... | |
class | Namespace |
This is used for storing a namespace on disk in a fixed witdh form and should only be used for that, not for passing internally. More... | |
class | NamespaceDetails |
class | NamespaceDetailsCollectionCatalogEntry |
class | NamespaceDetailsRSV1MetaData |
class | NamespaceHashTable |
Simple, fixed size hash table used for namespace mapping (effectively the contents of the MMAP V1 .ns file). More... | |
class | NamespaceIndex |
class | NamespaceUUIDCache |
class | NoMergeBelowMarkLeft |
class | NoMergeBelowMarkRight |
class | NoMoveAtLowWaterMarkLeft |
class | NoMoveAtLowWaterMarkRight |
class | NoOpJournalListener |
The NoOpJournalListener is a trivial implementation of a JournalListener, that does nothing. More... | |
class | OddRebalanceCenter |
class | OddRebalanceLeft |
class | OddRebalanceRight |
class | PackedDataSizeEmptyBucket |
class | PackEmptyBucket |
class | ParentMergeNonRightToLeft |
class | ParentMergeNonRightToRight |
class | Partitioned |
A templated class used to partition an associative container like a set or a map to increase scalability. More... | |
struct | PartitionedLockHead |
The PartitionedLockHead allows optimizing the case where requests overwhelmingly use the intent lock modes MODE_IS and MODE_IX, which are compatible with each other. More... | |
struct | Partitioner |
The default partitioning policy: If using a numeric built-in type, will use the lower bits of a number to decide which partition to assign it to. More... | |
class | PointerToDurableMappedFile |
for durability support we want to be able to map pointers to specific DurableMappedFile objects. More... | |
class | PosixFlushable |
class | PreferBalanceLeft |
class | PreferBalanceRight |
class | PrefixedWiredTigerRecordStore |
class | RebalancedSeparatorBase |
class | RebalanceEmptyLeft |
class | RebalanceEmptyRight |
struct | Record |
The data items stored in a RecordStore. More... | |
class | RecordAccessTracker |
Used to implement likelyInPhysicalMemory() for the MMAP v1 storage engine. More... | |
class | RecordCursor |
Retrieves Records from a RecordStore. More... | |
class | RecordData |
A replacement for the Record class. More... | |
class | RecordFetcher |
Used for yielding while data is fetched from disk. More... | |
class | RecordStore |
An abstraction used for storing documents in a collection or entries in an index. More... | |
class | RecordStoreCompactAdaptor |
class | RecordStoreHarnessHelper |
class | RecordStoreV1Base |
class | RecordStoreV1MetaData |
class | RecordStoreV1RepairCursor |
This iterator will go over the collection twice - once going forward (first extent -> last extent) and once backwards in an attempt to salvage potentially corrupted or unreachable records. More... | |
class | RecordStoreValidateAdaptor |
The record store validate adaptor is used to keep track of the index consistency during a validation that's running. More... | |
class | RecoveryUnit |
A RecoveryUnit is responsible for ensuring that data is persisted. More... | |
class | RecoveryUnitHarnessHelper |
class | RecoveryUnitNoop |
class | RecursiveMerge |
class | RecursiveMergeDoubleRightBucket |
class | RecursiveMergeRightBucket |
class | RecursiveMergeThenBalance |
struct | RelativePath |
this is very much like a boost::path. More... | |
struct | RenameCollectionOptions |
Renames the collection from "source" to "target" and drops the existing collection with UUID dropTargetUUID iff "dropTarget" is true. More... | |
class | RepairFileDeleter |
class | ResourceId |
Uniquely identifies a lockable resource. More... | |
class | SavedCursorRegistry |
Class that stores active cursors that have been saved (as part of yielding) to allow them to be invalidated if the thing they pointed at goes away. More... | |
class | SeekableRecordCursor |
Adds explicit seeking of records. More... | |
class | SERVER983 |
Validates that adding keys incrementally produces buckets, which are 90%/10% full. More... | |
class | ShouldNotConflictWithSecondaryBatchApplicationBlock |
RAII-style class to opt out of replication's use of ParallelBatchWriterMode. More... | |
class | SimpleCreate |
class | SimpleInsertDelete |
class | SimpleRecordStoreV1 |
class | SimpleRecordStoreV1Iterator |
This class iterates over a non-capped collection identified by 'ns'. More... | |
class | SnapshotId |
class | SnapshotManager |
Manages snapshots that can be read from at a later time. More... | |
class | Snapshotted |
class | SortedDataBuilderInterface |
A version-hiding wrapper around the bulk builder for the Btree. More... | |
class | SortedDataInterface |
This interface is a work in progress. More... | |
class | SortedDataInterfaceHarnessHelper |
class | SplitLeftHeavyBucket |
class | SplitRightHeavyBucket |
class | SplitUnevenBucketBase |
class | SqliteStatement |
SqliteStatement is a wrapper around the sqlite3_stmt object. More... | |
class | StandardWiredTigerRecordStore |
class | StatusWith |
class | StorageEngine |
The StorageEngine class is the top level interface for creating a new storage engine. More... | |
class | StorageEngineLockFile |
class | StorageEngineMetadata |
This reads and write the storage engine metadata file 'storage.bson' in the data directory (See –dbpath). More... | |
struct | StorageGlobalParams |
class | TestHeadManager |
Simple head manager, which performs no validity checking or persistence. More... | |
struct | TestStruct |
class | TrackingLockGrantNotification |
class | UninterruptibleLockGuard |
This class prevents lock acquisitions from being interrupted when it is in scope. More... | |
class | UpdateNotifier |
class | UUIDCatalog |
class | UUIDCatalogObserver |
Class used for updating the UUID catalog on metadata operations. More... | |
class | ValidateAdaptor |
This is so when a RecordStore is validating all records it can call back to someone to check if a record is valid. More... | |
class | ValidateAdaptorSpy |
struct | ValidateResults |
class | ValidateTest |
class | WindowsFlushable |
class | WiredTigerBeginTxnBlock |
When constructed, this object begins a WiredTiger transaction on the provided session. More... | |
class | WiredTigerCachedCursor |
class | WiredTigerConfigParser |
class | WiredTigerConnection |
class | WiredTigerCursor |
This is a smart pointer that wraps a WT_CURSOR and knows how to obtain and get from pool. More... | |
class | WiredTigerCustomizationHooks |
class | WiredTigerEngineRuntimeConfigParameter |
WT_CONNECTION::reconfigure get/setParameter support. More... | |
class | WiredTigerExtensions |
struct | WiredTigerFileVersion |
class | WiredTigerGlobalOptions |
class | WiredTigerIndex |
class | WiredTigerIndexStandard |
class | WiredTigerIndexUnique |
struct | WiredTigerItem |
class | WiredTigerKVEngine |
class | WiredTigerOplogManager |
class | WiredTigerRecordStore |
class | WiredTigerRecordStoreCursorBase |
class | WiredTigerRecordStorePrefixedCursor |
class | WiredTigerRecordStoreStandardCursor |
class | WiredTigerRecoveryUnit |
class | WiredTigerServerStatusSection |
Adds "wiredTiger" to the results of db.serverStatus(). More... | |
class | WiredTigerSession |
This is a structure that caches 1 cursor for each uri. More... | |
class | WiredTigerSessionCache |
This cache implements a shared pool of WiredTiger sessions with the goal to amortize the cost of session creation and destruction over multiple uses. More... | |
class | WiredTigerSizeStorer |
The WiredTigerSizeStorer class serves as a write buffer to durably store size information for MongoDB collections. More... | |
class | WiredTigerSnapshotManager |
class | WiredTigerUtil |
class | WiredTigerUtilHarnessHelper |
class | WiredTigerUtilMetadataTest |
class | WriteConflictException |
This is thrown if during a write, two or more operations conflict with each other. More... | |
class | WriteUnitOfWork |
The WriteUnitOfWork is an RAII type that begins a storage engine write unit of work on both the Locker and the RecoveryUnit of the OperationContext. More... | |
Typedefs | |
using | KVDatabaseCatalogEntryFactory = decltype(defaultDatabaseCatalogEntryFactory) |
typedef int | HANDLE |
typedef boost::filesystem::path | Path |
typedef std::unique_ptr< WiredTigerSession, typename WiredTigerSessionCache::WiredTigerSessionDeleter > | UniqueWiredTigerSession |
A unique handle type for WiredTigerSession pointers obtained from a WiredTigerSessionCache. More... | |
typedef class FastMapNoAlloc< ResourceId, TestStruct > | TestFastMapNoAlloc |
typedef uint64_t | LockerId |
typedef LockerImpl< false > | DefaultLockerImpl |
typedef LockerImpl< true > | MMAPV1LockerImpl |
typedef LockStats< int64_t > | SingleThreadedLockStats |
typedef LockStats< AtomicInt64 > | AtomicLockStats |
using | IndexVersion = IndexDescriptor::IndexVersion |
using | CollectionUUID = UUID |
A CollectionUUID is a 128-bit unique identifier, per RFC 4122, v4. More... | |
using | OptionalCollectionUUID = boost::optional< CollectionUUID > |
Functions | |
GlobalInitializerRegisterer | encryptionHooksInitializer ("SetEncryptionHooks", {"ServiceContext"}, [](InitializerContext *context) { EncryptionHooks::set(getGlobalServiceContext(), stdx::make_unique< EncryptionHooks >());return Status::OK();}, [](DeinitializerContext *context) { EncryptionHooks::set(getGlobalServiceContext(), nullptr);return Status::OK();}) |
SortedDataInterface * | getEphemeralForTestBtreeImpl (const Ordering &ordering, bool isUnique, std::shared_ptr< void > *dataInOut) |
Caller takes ownership. More... | |
std::ostream & | operator<< (std::ostream &stream, const IndexKeyEntry &entry) |
bool | operator== (const IndexKeyEntry &lhs, const IndexKeyEntry &rhs) |
bool | operator!= (const IndexKeyEntry &lhs, const IndexKeyEntry &rhs) |
bool | operator< (const KeyString &lhs, const KeyString &rhs) |
bool | operator<= (const KeyString &lhs, const KeyString &rhs) |
bool | operator== (const KeyString &lhs, const KeyString &rhs) |
bool | operator> (const KeyString &lhs, const KeyString &rhs) |
bool | operator>= (const KeyString &lhs, const KeyString &rhs) |
bool | operator!= (const KeyString &lhs, const KeyString &rhs) |
std::ostream & | operator<< (std::ostream &stream, const KeyString &value) |
std::unique_ptr< KVDatabaseCatalogEntryMock > | kvDatabaseCatalogEntryMockFactory (StringData name, KVStorageEngine *engine) |
Copyright (C) 2016 MongoDB Inc. More... | |
TEST_F (SnapshotManagerTests, ConsistentIfNotSupported) | |
TEST_F (SnapshotManagerTests, FailsWithNoCommittedSnapshot) | |
TEST_F (SnapshotManagerTests, FailsAfterDropAllSnapshotsWhileYielded) | |
TEST_F (SnapshotManagerTests, BasicFunctionality) | |
TEST_F (SnapshotManagerTests, UpdateAndDelete) | |
TEST_F (SnapshotManagerTests, InsertAndReadOnLocalSnapshot) | |
TEST_F (SnapshotManagerTests, UpdateAndDeleteOnLocalSnapshot) | |
std::ostream & | operator<< (std::ostream &s, const KVPrefix &prefix) |
std::unique_ptr< KVDatabaseCatalogEntryBase > | defaultDatabaseCatalogEntryFactory (const StringData name, KVStorageEngine *const engine) |
TEST_F (KVStorageEngineTest, ReconcileIdentsTest) | |
TEST_F (KVStorageEngineTest, RecreateIndexes) | |
MONGO_STATIC_ASSERT (sizeof(void *)==sizeof(size_t)) | |
SortedDataInterface * | getMMAPV1Interface (HeadManager *headManager, RecordStore *recordStore, SavedCursorRegistry *cursorRegistry, const Ordering &ordering, const string &indexName, IndexVersion version, bool isUnique) |
SortedDataInterface * | getMMAPV1Interface (HeadManager *headManager, RecordStore *recordStore, SavedCursorRegistry *cursorRegistry, const Ordering &ordering, const std::string &indexName, IndexDescriptor::IndexVersion version, bool isUnique) |
static unittest::SuiteInstance< BtreeLogicTestSuite< BtreeLayoutV0 > > | SUITE_V0 ("BTreeLogicTests_V0") |
static unittest::SuiteInstance< BtreeLogicTestSuite< BtreeLayoutV1 > > | SUITE_V1 ("BTreeLogicTests_V1") |
MONGO_STATIC_ASSERT (sizeof(BtreeBucketV0) - sizeof(static_cast< BtreeBucketV0 *>(NULL) ->data)==BtreeBucketV0::HeaderSize) | |
MONGO_STATIC_ASSERT (sizeof(BtreeBucketV1) - sizeof(static_cast< BtreeBucketV1 *>(NULL) ->data)==BtreeBucketV1::HeaderSize) | |
string | bigNumString (long long n, int len) |
Generates a string of the specified length containing repeated concatenation of the hexadecimal representation of the input value. More... | |
BSONObj | simpleKey (char c, int n=1) |
Generates key on a field 'a', with the specified number of repetitions of the character. More... | |
int | oldCompare (const BSONObj &l, const BSONObj &r, const Ordering &o) |
int | oldCompareElementValues (const BSONElement &l, const BSONElement &r) |
int | oldElemCompare (const BSONElement &l, const BSONElement &r) |
int | binDataCodeToLength (int codeByte) |
static int | compare (const unsigned char *&l, const unsigned char *&r) |
unsigned | sizeOfElement (const unsigned char *p) |
MONGO_STATIC_ASSERT (sizeof(NamespaceDetails)==496) | |
unsigned long long | removeAndSlideBit (unsigned long long b, int x) |
MONGO_STATIC_ASSERT (RecordStoreV1Base::Buckets==NamespaceDetails::SmallBuckets+NamespaceDetails::LargeBuckets) | |
TEST (NamespaceTest, Basics) | |
TEST (NamespaceTest, ExtraName) | |
void | rawCompress (const char *input, size_t input_length, char *compressed, size_t *compressed_length) |
size_t | maxCompressedLength (size_t source_len) |
size_t | compress (const char *input, size_t input_length, std::string *output) |
bool | uncompress (const char *compressed, size_t compressed_length, std::string *uncompressed) |
MONGO_STATIC_ASSERT (DataFileHeader::HeaderSize==8192) | |
MONGO_STATIC_ASSERT (sizeof(static_cast< DataFileHeader *>(NULL) ->data)==4) | |
MONGO_STATIC_ASSERT (sizeof(DataFileHeader) - sizeof(static_cast< DataFileHeader *>(NULL) ->data)==DataFileHeader::HeaderSize) | |
bool | operator< (const DiskLoc &rhs, const DiskLoc &lhs) |
bool | operator<= (const DiskLoc &rhs, const DiskLoc &lhs) |
bool | operator> (const DiskLoc &rhs, const DiskLoc &lhs) |
bool | operator>= (const DiskLoc &rhs, const DiskLoc &lhs) |
std::ostream & | operator<< (std::ostream &stream, const DiskLoc &loc) |
dur::DurableInterface & | getDur () |
Provides a reference to the active durability interface. More... | |
MONGO_STATIC_ASSERT (sizeof(Extent) - 4==48+128) | |
MONGO_FAIL_POINT_DEFINE (allocateDiskFull) | |
boost::filesystem::path | ensureParentDirCreated (const boost::filesystem::path &p) |
Aliases for Win32 CRT functions. More... | |
static bool | useSparseFiles (int fd) |
MONGO_REGISTER_TEST_COMMAND (JournalLatencyTestCmd) | |
void | minOSPageSizeBytesTest (size_t minOSPageSizeBytes) |
void | dataSyncFailedHandler () |
std::size_t | getMinOSPageSizeBytes () |
intmax_t | dbSize (const std::string &database) |
void | _deleteDataFiles (const std::string &database) |
MONGO_FAIL_POINT_DEFINE (recordNeedsFetchFail) | |
void | _checkQuota (bool enforceQuota, int fileNo) |
unsigned long long | AlignNumber (unsigned long long number, unsigned long long granularity) |
static void * | getNextMemoryMappedFileLocation (unsigned long long mmfSize) |
dev_t | getPartition (const std::string &path) |
void | flushMyDirectory (const boost::filesystem::path &file) |
bool | onSamePartition (const std::string &path1, const std::string &path2) |
MONGO_STATIC_ASSERT (16==sizeof(DeletedRecord)) | |
MONGO_STATIC_ASSERT (sizeof(RecordStoreV1Base::bucketSizes)/sizeof(RecordStoreV1Base::bucketSizes[0])==RecordStoreV1Base::Buckets) | |
static ServerStatusMetricField< Counter64 > | dFreelist1 ("storage.freelist.search.requests", &freelistAllocs) |
static ServerStatusMetricField< Counter64 > | dFreelist2 ("storage.freelist.search.bucketExhausted", &freelistBucketExhausted) |
static ServerStatusMetricField< Counter64 > | dFreelist3 ("storage.freelist.search.scanned", &freelistIterations) |
void | initializeV1RS (OperationContext *opCtx, const LocAndSize *records, const LocAndSize *drecs, const LocAndSize *legacyGrabBag, DummyExtentManager *em, DummyRecordStoreV1MetaData *md) |
Creates a V1 storage/mmap_v1 with the passed in records and DeletedRecords (drecs). More... | |
void | assertStateV1RS (OperationContext *opCtx, const LocAndSize *records, const LocAndSize *drecs, const LocAndSize *legacyGrabBag, const ExtentManager *em, const DummyRecordStoreV1MetaData *md) |
Asserts that the V1RecordStore defined by md has the passed in records and drecs in the correct order. More... | |
void | _applyOpToDataFiles (const string &database, FileOp &fo, bool afterAllocator=false, const string &path=storageGlobalParams.dbpath) |
void | boostRenameWrapper (const Path &from, const Path &to) |
void | _renameForBackup (const std::string &database, const Path &reservedPath) |
intmax_t | dbSize (const string &database) |
void | _replaceWithRecovered (const string &database, const char *reservedPathString) |
Path | uniqueReservedPath (const char *prefix) |
MONGO_INITIALIZER() | RepairDatabaseMMapV1 (InitializerContext *context) |
void | setRepairDatabaseMmapv1Impl (stdx::function< Status(StorageEngine *engine, OperationContext *, const std::string &, bool, bool)> impl) |
Status | repairDatabaseMmapv1 (StorageEngine *engine, OperationContext *opCtx, const std::string &dbName, bool preserveClonedFilesOnFailure, bool backupOriginalFiles) |
void | setRepairDatabaseMmapv1Impl (stdx::function< Status(StorageEngine *, OperationContext *, std::string const &, bool, bool)> impl) |
void | touch_pages (const char *buf, size_t length, size_t pageSize=4096) |
Touches a range of pages, to encourage the OS to get them into the buffer pool. More... | |
std::unique_ptr< HarnessHelper > | makeHarnessHelper () |
MONGO_INITIALIZER() | RegisterHarnessFactory (InitializerContext *const) |
GlobalInitializerRegisterer | mobileKVEngineInitializer ("MobileKVEngineInit", {"ServiceContext"}, [](InitializerContext *context) { registerStorageEngine(getGlobalServiceContext(), std::make_unique< MobileFactory >());return Status::OK();}, [](DeinitializerContext *const) { return Status::OK();}) |
Status | sqliteRCToStatus (int retCode, const char *prefix=NULL) |
Converts SQLite return codes to MongoDB statuses. More... | |
void | checkStatus (int retStatus, int desiredStatus, const char *fnName, const char *errMsg=NULL) |
Checks if retStatus == desiredStatus; else calls fassert. More... | |
void | validateLogAndAppendError (ValidateResults *results, const std::string &errMsg) |
Helper to add and log errors for validate. More... | |
void | doValidate (OperationContext *opCtx, ValidateResults *results) |
Checks if the database file is corrupt. More... | |
std::unique_ptr< RecordStoreHarnessHelper > | newRecordStoreHarnessHelper () |
std::unique_ptr< RecoveryUnitHarnessHelper > | newRecoveryUnitHarnessHelper () |
const RecordId | loc1 (0, 42) |
const RecordId | loc2 (0, 44) |
const RecordId | loc3 (0, 46) |
const RecordId | loc4 (0, 48) |
const RecordId | loc5 (0, 50) |
const RecordId | loc6 (0, 52) |
const RecordId | loc7 (0, 54) |
const RecordId | loc8 (0, 56) |
void | insertToIndex (unowned_ptr< OperationContext > opCtx, unowned_ptr< SortedDataInterface > index, std::initializer_list< IndexKeyEntry > toInsert) |
Inserts all entries in toInsert into index. More... | |
void | insertToIndex (unowned_ptr< HarnessHelper > harness, unowned_ptr< SortedDataInterface > index, std::initializer_list< IndexKeyEntry > toInsert) |
void | removeFromIndex (unowned_ptr< OperationContext > opCtx, unowned_ptr< SortedDataInterface > index, std::initializer_list< IndexKeyEntry > toRemove) |
Removes all entries in toRemove from index. More... | |
void | removeFromIndex (unowned_ptr< HarnessHelper > harness, unowned_ptr< SortedDataInterface > index, std::initializer_list< IndexKeyEntry > toRemove) |
std::unique_ptr< SortedDataInterfaceHarnessHelper > | newSortedDataInterfaceHarnessHelper () |
void | initializeStorageEngine (ServiceContext *service) |
Initializes the storage engine on "service". More... | |
void | shutdownGlobalStorageEngineCleanly (ServiceContext *service) |
Shuts down storage engine cleanly and releases any locks on mongod.lock. More... | |
void | createLockFile (ServiceContext *service) |
Creates the lock file used to prevent concurrent processes from accessing the data files, as appropriate. More... | |
void | registerStorageEngine (ServiceContext *service, std::unique_ptr< StorageEngine::Factory > factory) |
Registers a storage engine onto the given "service". More... | |
bool | isRegisteredStorageEngine (ServiceContext *service, StringData name) |
Returns true if "name" refers to a registered storage engine. More... | |
StorageEngine::Factory * | getFactoryForStorageEngine (ServiceContext *context, StringData name) |
Returns an unowned pointer to the factory for the named storage engine, or nullptr. More... | |
Status | validateStorageOptions (ServiceContext *service, const BSONObj &storageEngineOptions, stdx::function< Status(const StorageEngine::Factory *const, const BSONObj &)> validateFunc) |
void | appendStorageEngineList (ServiceContext *service, BSONObjBuilder *result) |
void | registerHarnessHelperFactory (stdx::function< std::unique_ptr< HarnessHelper >()> factory) |
template<typename Target , typename Current > | |
std::unique_ptr< Target > | dynamic_ptr_cast (std::unique_ptr< Current > &&p) |
std::unique_ptr< HarnessHelper > | newHarnessHelper () |
int | index_collator_customize (WT_COLLATOR *coll, WT_SESSION *s, const char *uri, WT_CONFIG_ITEM *metadata, WT_COLLATOR **collp) |
MONGO_COMPILER_API_EXPORT int | index_collator_extension (WT_CONNECTION *conn, WT_CONFIG_ARG *cfg) |
MONGO_FAIL_POINT_DEFINE (WTPausePrimaryOplogDurabilityLoop) | |
MONGO_MODULE_STARTUP_OPTIONS_REGISTER() | WiredTigerOptions (InitializerContext *context) |
MONGO_FAIL_POINT_DEFINE (WTPrepareConflictForReads) | |
void | wiredTigerPrepareConflictLog (int attempt) |
Logs a message with the number of prepare conflict retry attempts. More... | |
MONGO_FAIL_POINT_DECLARE (WTPrepareConflictForReads) | |
template<typename F > | |
int | wiredTigerPrepareConflictRetry (OperationContext *opCtx, F &&f) |
Runs the argument function f as many times as needed for f to return an error other than WT_PREPARE_CONFLICT. More... | |
MONGO_FAIL_POINT_DEFINE (WTWriteConflictException) | |
MONGO_FAIL_POINT_DEFINE (WTWriteConflictExceptionForReads) | |
MONGO_FAIL_POINT_DECLARE (WTWriteConflictException) | |
MONGO_FAIL_POINT_DECLARE (WTWriteConflictExceptionForReads) | |
MONGO_FAIL_POINT_DECLARE (WTPausePrimaryOplogDurabilityLoop) | |
AtomicInt32 | kWiredTigerCursorCacheSize (-100) |
ExportedServerParameter< std::int32_t, ServerParameterType::kStartupAndRuntime > | WiredTigerCursorCacheSizeSetting (ServerParameterSet::getGlobal(), "wiredTigerCursorCacheSize", &kWiredTigerCursorCacheSize) |
Status | wtRCToStatus_slow (int retCode, const char *prefix) |
bool | wt_keeptxnopen () |
Status | wtRCToStatus (int retCode, const char *prefix=NULL) |
converts wiredtiger return codes to mongodb statuses. More... | |
TEST_F (WiredTigerUtilMetadataTest, GetConfigurationStringInvalidURI) | |
TEST_F (WiredTigerUtilMetadataTest, GetConfigurationStringNull) | |
TEST_F (WiredTigerUtilMetadataTest, GetConfigurationStringSimple) | |
TEST_F (WiredTigerUtilMetadataTest, GetApplicationMetadataInvalidURI) | |
TEST_F (WiredTigerUtilMetadataTest, GetApplicationMetadataNull) | |
TEST_F (WiredTigerUtilMetadataTest, GetApplicationMetadataString) | |
TEST_F (WiredTigerUtilMetadataTest, GetApplicationMetadataDuplicateKeys) | |
TEST_F (WiredTigerUtilMetadataTest, GetApplicationMetadataTypes) | |
TEST_F (WiredTigerUtilMetadataTest, CheckApplicationMetadataFormatVersionMissingKey) | |
TEST_F (WiredTigerUtilMetadataTest, CheckApplicationMetadataFormatVersionString) | |
TEST_F (WiredTigerUtilMetadataTest, CheckApplicationMetadataFormatVersionNumber) | |
TEST_F (WiredTigerUtilMetadataTest, CheckApplicationMetadataFormatInvalidURI) | |
TEST (WiredTigerUtilTest, GetStatisticsValueMissingTable) | |
TEST (WiredTigerUtilTest, GetStatisticsValueStatisticsDisabled) | |
TEST (WiredTigerUtilTest, GetStatisticsValueInvalidKey) | |
TEST (WiredTigerUtilTest, GetStatisticsValueValidKey) | |
TEST (WiredTigerUtilTest, GetStatisticsValueAsUInt8) | |
TEST (Deadlock, NoDeadlock) | |
TEST (Deadlock, Simple) | |
TEST (Deadlock, SimpleUpgrade) | |
TEST (Deadlock, Indirect) | |
TEST (Deadlock, IndirectWithUpgrade) | |
TEST (FastMapNoAlloc, Empty) | |
TEST (FastMapNoAlloc, NotEmpty) | |
TEST (FastMapNoAlloc, FindNonExisting) | |
TEST (FastMapNoAlloc, FindAndRemove) | |
TEST (FastMapNoAlloc, RemoveAll) | |
const char * | modeName (LockMode mode) |
Returns a human-readable name for the specified lock mode. More... | |
const char * | legacyModeName (LockMode mode) |
Legacy lock mode names in parity for 2.6 reports. More... | |
bool | isModeCovered (LockMode mode, LockMode coveringMode) |
Mode A is covered by mode B if the set of conflicts for mode A is a subset of the set of conflicts for mode B. More... | |
const char * | resourceTypeName (ResourceType resourceType) |
Returns a human-readable name for the specified resource type. More... | |
const char * | lockRequestStatusName (LockRequest::Status status) |
Returns a human readable status name for the specified LockRequest status. More... | |
bool | isSharedLockMode (LockMode mode) |
Returns whether the passed in mode is S or IS. More... | |
MONGO_STATIC_ASSERT (sizeof(ResourceId)==sizeof(uint64_t)) | |
TEST (ResourceId, Semantics) | |
TEST (ResourceId, Constructors) | |
TEST (ResourceId, Masking) | |
TEST (LockManager, Grant) | |
TEST (LockManager, GrantMultipleNoConflict) | |
TEST (LockManager, GrantMultipleFIFOOrder) | |
TEST (LockManager, GrantRecursive) | |
TEST (LockManager, GrantRecursiveCompatibleConvertUp) | |
TEST (LockManager, GrantRecursiveNonCompatibleConvertUp) | |
TEST (LockManager, GrantRecursiveNonCompatibleConvertDown) | |
TEST (LockManager, Conflict) | |
TEST (LockManager, MultipleConflict) | |
TEST (LockManager, ConflictCancelWaiting) | |
TEST (LockManager, ConflictCancelMultipleWaiting) | |
TEST (LockManager, CancelWaitingConversionWeakModes) | |
TEST (LockManager, CancelWaitingConversionStrongModes) | |
TEST (LockManager, ConflictingConversion) | |
TEST (LockManager, ConflictingConversionInTheMiddle) | |
TEST (LockManager, ConvertUpgrade) | |
TEST (LockManager, Downgrade) | |
static void | checkConflict (LockMode existingMode, LockMode newMode, bool hasConflict) |
TEST (LockManager, ValidateConflictMatrix) | |
TEST (LockManager, EnqueueAtFront) | |
TEST (LockManager, CompatibleFirstImmediateGrant) | |
TEST (LockManager, CompatibleFirstGrantAlreadyQueued) | |
TEST (LockManager, CompatibleFirstDelayedGrant) | |
TEST (LockManager, CompatibleFirstCancelWaiting) | |
TEST (LockManager, Fairness) | |
LockManager * | getGlobalLockManager () |
Retrieves the global lock manager instance. More... | |
void | reportGlobalLockingStats (SingleThreadedLockStats *outStats) |
Reports instance-wide locking statistics, which can then be converted to BSON or logged. More... | |
void | resetGlobalLockStats () |
Currently used for testing only. More... | |
TEST (LockerImpl, LockNoConflict) | |
TEST (LockerImpl, ReLockNoConflict) | |
TEST (LockerImpl, ConflictWithTimeout) | |
TEST (LockerImpl, ConflictUpgradeWithTimeout) | |
TEST (LockerImpl, ReadTransaction) | |
TEST (LockerImpl, saveAndRestoreGlobal) | |
Test that saveMMAPV1LockerImpl works by examining the output. More... | |
TEST (LockerImpl, saveAndRestoreGlobalAcquiredTwice) | |
Test that we don't unlock when we have the global lock more than once. More... | |
TEST (LockerImpl, saveAndRestoreDBAndCollection) | |
Tests that restoreMMAPV1LockerImpl works by locking a db and collection and saving + restoring. More... | |
TEST (LockerImpl, DefaultLocker) | |
TEST (LockerImpl, MMAPV1Locker) | |
TEST (LockerImpl, CanceledDeadlockUnblocks) | |
TEST (LockerImpl, SharedLocksShouldTwoPhaseLockIsTrue) | |
TEST (LockerImpl, ModeIXAndXLockParticipatesInTwoPhaseLocking) | |
TEST (LockerImpl, OverrideLockRequestTimeout) | |
TEST (LockerImpl, DoNotWaitForLockAcquisition) | |
TEST (LockerImpl, GetLockerInfoShouldReportHeldLocks) | |
TEST (LockerImpl, GetLockerInfoShouldReportPendingLocks) | |
TEST (LockerImpl, ReaquireLockPendingUnlock) | |
TEST (LockerImpl, AcquireLockPendingUnlockWithCoveredMode) | |
TEST (LockerImpl, ConvertLockPendingUnlock) | |
TEST (LockerImpl, ConvertLockPendingUnlockAndUnlock) | |
TEST (LockStats, NoWait) | |
TEST (LockStats, Wait) | |
TEST (LockStats, Reporting) | |
template<typename F > | |
auto | writeConflictRetry (OperationContext *opCtx, StringData opStr, StringData ns, F &&f) |
Runs the argument function f as many times as needed for f to complete or throw an exception other than WriteConflictException. More... | |
Status | emptyCapped (OperationContext *opCtx, const NamespaceString &collectionName) |
Drops all documents contained in the capped collection, "collectionName". More... | |
Status | cloneCollectionAsCapped (OperationContext *opCtx, Database *db, const std::string &shortFrom, const std::string &shortTo, long long size, bool temp) |
Clones the collection "shortFrom" to the capped collection "shortTo" with a size of "size". More... | |
Status | convertToCapped (OperationContext *opCtx, const NamespaceString &collectionName, long long size) |
Converts the collection "collectionName" to a capped collection with a size of "size". More... | |
Status | collMod (OperationContext *opCtx, const NamespaceString &ns, const BSONObj &cmdObj, BSONObjBuilder *result) |
Performs the collection modification described in "cmdObj" on the collection "ns". More... | |
Status | collModWithUpgrade (OperationContext *opCtx, const NamespaceString &nss, const BSONObj &cmdObj) |
Applies the collMod operation and optionally updates formatVersion of unique indexes belonging to collection "nss". More... | |
Status | collModForUUIDUpgrade (OperationContext *opCtx, const NamespaceString &nss, const BSONObj &cmdObj, CollectionUUID uuid) |
void | addCollectionUUIDs (OperationContext *opCtx) |
Adds UUIDs to all replicated collections of all databases if they do not already have UUIDs. More... | |
Status | _updateNonReplicatedIndexPerCollection (OperationContext *opCtx, Collection *coll) |
Status | _updateNonReplicatedUniqueIndexesPerDatabase (OperationContext *opCtx, const std::string &dbName) |
void | _updateUniqueIndexesForDatabase (OperationContext *opCtx, const std::string &dbname) |
void | updateUniqueIndexesOnUpgrade (OperationContext *opCtx) |
Status | updateNonReplicatedUniqueIndexes (OperationContext *opCtx) |
MONGO_DEFINE_SHIM (Collection::makeImpl) | |
MONGO_DEFINE_SHIM (Collection::parseValidationLevel) | |
MONGO_DEFINE_SHIM (Collection::parseValidationAction) | |
ServerStatusMetricField< Counter64 > | moveCounterDisplay ("record.moves", &moveCounter) |
MONGO_DEFINE_SHIM (CollectionInfoCache::makeImpl) | |
ExportedServerParameter< bool, ServerParameterType::kStartupOnly > | createTimestampSafeUniqueIndexParameter (ServerParameterSet::getGlobal(), "createTimestampSafeUniqueIndex", &createTimestampSafeUniqueIndex) |
void | checkRoundTrip (const CollectionOptions &options1) |
TEST (CollectionOptions, SimpleRoundTrip) | |
TEST (CollectionOptions, Validate) | |
TEST (CollectionOptions, Validator) | |
TEST (CollectionOptions, ErrorBadSize) | |
TEST (CollectionOptions, ErrorBadMax) | |
TEST (CollectionOptions, CappedSizeRoundsUpForAlignment) | |
TEST (CollectionOptions, IgnoreSizeWrongType) | |
TEST (CollectionOptions, IgnoreMaxWrongType) | |
TEST (CollectionOptions, InvalidStorageEngineField) | |
TEST (CollectionOptions, ParseEngineField) | |
TEST (CollectionOptions, ResetStorageEngineField) | |
TEST (CollectionOptions, ModifyStorageEngineField) | |
TEST (CollectionOptions, FailToParseCollationThatIsNotAnObject) | |
TEST (CollectionOptions, FailToParseCollationThatIsAnEmptyObject) | |
TEST (CollectionOptions, CollationFieldParsesCorrectly) | |
TEST (CollectionOptions, ParsedCollationObjShouldBeOwned) | |
TEST (CollectionOptions, ResetClearsCollationField) | |
TEST (CollectionOptions, CollationFieldLeftEmptyWhenOmitted) | |
TEST (CollectionOptions, CollationFieldNotDumpedToBSONWhenOmitted) | |
TEST (CollectionOptions, ViewParsesCorrectly) | |
TEST (CollectionOptions, ViewParsesCorrectlyWithoutPipeline) | |
TEST (CollectionOptions, PipelineFieldRequiresViewOn) | |
TEST (CollectionOptions, UnknownTopLevelOptionFailsToParse) | |
TEST (CollectionOptions, CreateOptionIgnoredIfFirst) | |
TEST (CollectionOptions, CreateOptionIgnoredIfNotFirst) | |
TEST (CollectionOptions, UnknownOptionIgnoredIfCreateOptionFirst) | |
TEST (CollectionOptions, UnknownOptionIgnoredIfCreateOptionPresent) | |
TEST (CollectionOptions, UnknownOptionRejectedIfCreateOptionNotPresent) | |
TEST (CollectionOptions, DuplicateCreateOptionIgnoredIfCreateOptionFirst) | |
TEST (CollectionOptions, DuplicateCreateOptionIgnoredIfCreateOptionNotFirst) | |
TEST (CollectionOptions, MaxTimeMSWhitelistedOptionIgnored) | |
TEST (CollectionOptions, WriteConcernWhitelistedOptionIgnored) | |
TEST (CollectionOptions, ParseUUID) | |
Status | createCollection (OperationContext *opCtx, const std::string &dbName, const BSONObj &cmdObj, const BSONObj &idIndex=BSONObj()) |
Creates a collection as described in "cmdObj" on the database "dbName". More... | |
Status | createCollectionForApplyOps (OperationContext *opCtx, const std::string &dbName, const BSONElement &ui, const BSONObj &cmdObj, const BSONObj &idIndex=BSONObj()) |
As above, but only used by replication to apply operations. More... | |
MONGO_DEFINE_SHIM (Database::makeImpl) | |
MONGO_DEFINE_SHIM (Database::dropDatabase) | |
MONGO_DEFINE_SHIM (Database::userCreateNS) | |
MONGO_DEFINE_SHIM (Database::dropAllDatabasesExceptLocal) | |
MONGO_DEFINE_SHIM (DatabaseHolder::makeImpl) | |
MONGO_DEFINE_SHIM (DatabaseHolder::getDatabaseHolder) | |
void | uassertNamespaceNotIndex (StringData ns, StringData caller) |
LOG (1)<< "create collection "<< ns<< ' '<< options | |
if (!status.isOK()) return status | |
if (!collectionOptions.collation.isEmpty()) | |
if (!collectionOptions.validator.isEmpty()) | |
if (auto indexOptions=collectionOptions.indexOptionDefaults["storageEngine"]) | |
if (collectionOptions.isView()) | |
void | dropAllDatabasesExceptLocalImpl (OperationContext *opCtx) |
StringData | bypassDocumentValidationCommandOption () |
bool | shouldBypassDocumentValidationForCommand (const BSONObj &cmdObj) |
Status | dropCollection (OperationContext *opCtx, const NamespaceString &collectionName, BSONObjBuilder &result, const repl::OpTime &dropOpTime, DropCollectionSystemCollectionMode systemCollectionMode) |
MONGO_FAIL_POINT_DEFINE (dropDatabaseHangAfterLastCollectionDrop) | |
Status | dropDatabase (OperationContext *opCtx, const std::string &dbName) |
Drops the database "dbName". More... | |
Status | dropIndexes (OperationContext *opCtx, const NamespaceString &nss, const BSONObj &idxDescriptor, BSONObjBuilder *result) |
Drops the index from collection "nss" that matches the "idxDescriptor" and populates "result" with some statistics about the dropped index. More... | |
MONGO_DEFINE_SHIM (IndexCatalog::makeImpl) | |
MONGO_DEFINE_SHIM (IndexCatalog::IndexIterator::makeImpl) | |
MONGO_DEFINE_SHIM (IndexCatalog::fixIndexKey) | |
MONGO_DEFINE_SHIM (IndexCatalog::prepareInsertDeleteOptions) | |
MONGO_DEFINE_SHIM (IndexCatalogEntry::makeImpl) | |
MONGO_DEFINE_SHIM (MultiIndexBlock::makeImpl) | |
MONGO_FAIL_POINT_DEFINE (crashAfterStartingIndexBuild) | |
MONGO_FAIL_POINT_DEFINE (hangAfterStartingIndexBuild) | |
MONGO_FAIL_POINT_DEFINE (hangAfterStartingIndexBuildUnlocked) | |
MONGO_FAIL_POINT_DEFINE (slowBackgroundIndexBuild) | |
AtomicInt32 | maxIndexBuildMemoryUsageMegabytes (500) |
MONGO_EXPORT_STARTUP_SERVER_PARAMETER (debugCollectionUUIDs, bool, false) | |
Status | renameCollection (OperationContext *opCtx, const NamespaceString &source, const NamespaceString &target, const RenameCollectionOptions &options) |
Status | renameCollectionForApplyOps (OperationContext *opCtx, const std::string &dbName, const BSONElement &ui, const BSONObj &cmd, const repl::OpTime &renameOpTime) |
As above, but may only be called from applyCommand_inlock. More... | |
Status | renameCollectionForRollback (OperationContext *opCtx, const NamespaceString &target, const UUID &uuid) |
Same as renameCollection(), but used for rolling back renameCollection operations only. More... | |
std::size_t | partitionOf (const char x, const std::size_t nPartitions) |
std::size_t | partitionOf (const unsigned char x, const std::size_t nPartitions) |
std::size_t | partitionOf (const signed char x, const std::size_t nPartitions) |
std::size_t | partitionOf (const int x, const std::size_t nPartitions) |
std::size_t | partitionOf (const unsigned int x, const std::size_t nPartitions) |
std::size_t | partitionOf (const short x, const std::size_t nPartitions) |
std::size_t | partitionOf (const unsigned short x, const std::size_t nPartitions) |
std::size_t | partitionOf (const long x, const std::size_t nPartitions) |
std::size_t | partitionOf (const unsigned long x, const std::size_t nPartitions) |
std::size_t | partitionOf (const long long x, const std::size_t nPartitions) |
std::size_t | partitionOf (const unsigned long long x, const std::size_t nPartitions) |
std::size_t | partitionOf (const wchar_t x, const std::size_t nPartitions) |
std::size_t | partitionOf (const char16_t x, const std::size_t nPartitions) |
std::size_t | partitionOf (const char32_t x, const std::size_t nPartitions) |
Variables | |
InitializerContext * | context |
int | nDumped = 0 |
const int | OldBucketSize = 8192 |
const Ordering | nullOrdering = Ordering::make(BSONObj()) |
const unsigned | BinDataLenMask = 0xf0 |
const unsigned | BinDataTypeMask |
const int | BinDataLenMax = 32 |
const int | BinDataLengthToCode [] |
const int | BinDataCodeToLength [] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 32} |
static unsigned | sizes [] |
mongo::CmpUnitTest | cunittest |
mongo::IndexUpdateTest | iu_unittest |
DataFileSync | dataFileSync |
mongo::MemJournalServerStatusMetric | memJournalServerStatusMetric |
PointerToDurableMappedFile | privateViews |
static SimpleMutex | _uniqueNumberMutex |
static const int | kNeedsFetchFailFreq = 2 |
static Counter64 | needsFetchFailCounter |
volatile int | __record_touch_dummy = 1 |
MMAPV1Options | mmapv1GlobalOptions |
Copyright (C) 2017 MongoDB Inc. More... | |
stdx::mutex | mapViewMutex |
const unsigned long long | memoryMappedFileLocationFloor = 256LL * 1024LL * 1024LL * 1024LL |
static unsigned long long | _nextMemoryMappedFileLocation = memoryMappedFileLocationFloor |
static SimpleMutex | _nextMemoryMappedFileLocationMutex |
static Counter64 | freelistAllocs |
static Counter64 | freelistBucketExhausted |
static Counter64 | freelistIterations |
char | _touch_pages_char_reader |
int | inc = 0 |
const BSONObj | key0 = BSON("" << 0) |
const BSONObj | key1 = BSON("" << 1) |
const BSONObj | key2 = BSON("" << 2) |
const BSONObj | key3 = BSON("" << 3) |
const BSONObj | key4 = BSON("" << 4) |
const BSONObj | key5 = BSON("" << 5) |
const BSONObj | key6 = BSON("" << 6) |
const BSONObj | compoundKey1a |
const BSONObj | compoundKey1b |
const BSONObj | compoundKey1c |
const BSONObj | compoundKey1d |
const BSONObj | compoundKey2a |
const BSONObj | compoundKey2b |
const BSONObj | compoundKey2c |
const BSONObj | compoundKey3a |
const BSONObj | compoundKey3b |
const BSONObj | compoundKey3c |
bool | _supportsDocLocking |
A RAII object that temporarily forces setting of the _supportsDocLocking global variable (defined in db/service_context.cpp and returned by mongo::supportsDocLocking()) for testing purposes. More... | |
StorageGlobalParams | storageGlobalParams |
WiredTigerGlobalOptions | wiredTigerGlobalOptions |
const int | kDataFormatV1KeyStringV0IndexVersionV1 = 6 |
const int | kDataFormatV2KeyStringV1IndexVersionV2 = 8 |
const int | kDataFormatV3KeyStringV0UniqueIndexVersionV1 = 9 |
const int | kDataFormatV4KeyStringV1UniqueIndexVersionV2 = 10 |
const int | kMinimumIndexVersion = kDataFormatV1KeyStringV0IndexVersionV1 |
const int | kMaximumIndexVersion = kDataFormatV4KeyStringV1UniqueIndexVersionV2 |
const std::string | kWiredTigerEngineName = "wiredTiger" |
static int | kCappedDocumentRemoveLimit = 3 |
const ResourceId | resourceIdLocalDB = ResourceId(RESOURCE_DATABASE, StringData("local")) |
const ResourceId | resourceIdOplog = ResourceId(RESOURCE_COLLECTION, StringData("local.oplog.rs")) |
const ResourceId | resourceIdAdminDB = ResourceId(RESOURCE_DATABASE, StringData("admin")) |
const ResourceId | resourceIdParallelBatchWriterMode |
Collection *const | _this |
Collection *const OperationContext *const | opCtx |
Collection *const OperationContext *const const StringData | fullNS |
Collection *const OperationContext *const const StringData OptionalCollectionUUID | uuid |
Collection *const OperationContext *const const StringData OptionalCollectionUUID CollectionCatalogEntry *const | details |
Collection *const OperationContext *const const StringData OptionalCollectionUUID CollectionCatalogEntry *const RecordStore *const | recordStore |
Collection *const OperationContext *const const StringData OptionalCollectionUUID CollectionCatalogEntry *const RecordStore *const DatabaseCatalogEntry *const | dbce |
Counter64 | moveCounter |
Collection *const | collection = db->getCollection(opCtx, ns) |
Collection *const const NamespaceString & | ns |
bool | createTimestampSafeUniqueIndex = false |
Database *const | this_ |
Database *const OperationContext *const const StringData | name |
Database *const OperationContext *const const StringData DatabaseCatalogEntry *const | dbEntry |
OperationContext Database * | db |
OperationContext Database StringData BSONObj | options |
OperationContext Database StringData BSONObj CollectionOptions::ParseKind | parseKind |
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool | createDefaultIndexes |
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool const BSONObj &idIndex | Status |
if(collection) return Status(ErrorCodes if(db->getViewCatalog() ->lookup(opCtx, ns)) return Status(ErrorCodes CollectionOptions | collectionOptions |
Status | status = collectionOptions.parse(options, parseKind) |
std::unique_ptr< CollatorInterface > | collator |
else | |
const OperationContext::Decoration< bool > | documentValidationDisabled |
If true, Collection should do no validation of writes from this OperationContext. More... | |
IndexCatalogEntry *const OperationContext *const const StringData CollectionCatalogEntry *const std::unique_ptr< IndexDescriptor > | descriptor |
IndexCatalogEntry *const OperationContext *const const StringData CollectionCatalogEntry *const std::unique_ptr< IndexDescriptor > CollectionInfoCache *const | infoCache |
IndexCatalog *const Collection *const const int | maxNumIndexesAllowed |
OperationContext *const const IndexCatalog *const | cat |
OperationContext *const const IndexCatalog *const const bool | includeUnfinishedIndexes |
OperationContext const IndexDescriptor * | desc |
OperationContext const IndexDescriptor InsertDeleteOptions *options | void |
static const int | INDEX_CATALOG_INIT = 283711 |
static const int | INDEX_CATALOG_UNINIT = 654321 |
mongo::ExportedMaxIndexBuildMemoryUsageParameter | exportedMaxIndexBuildMemoryUsageParameter |
bool | debugCollectionUUIDs |
Copyright (C) 2014 MongoDB Inc.
Copyright 2016 MongoDB Inc.
Copyright 2015 MongoDB Inc.
Copyright (C) 2017 10gen Inc.
Copyright (C) 2008-2014 MongoDB Inc.
Copyright (C) 2018 MongoDB Inc.
Copyright (C) 2014 10gen Inc.
Copyright (C) 2013-2014 MongoDB Inc.
posix
Copyright (C) 2009 10gen Inc.
Copyright (C) 2010 10gen Inc.
Copyright (C) 2012 10gen Inc.
Copyright (C) 2013 10gen Inc.
Copyright (C) 2008 10gen Inc.
Copyright (C) 2011 10gen Inc.
Copyright (C) 2014 MongoDB.
Copyright (C) 2009-2014 MongoDB Inc.
Copyright 2014 MongoDB Inc.
Copyright (C) 2016 MongoDB Inc.
Copyright (C) 2017 MongoDB Inc.
Copyright (C) 2015 MongoDB Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
As a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library under certain conditions as described in each individual source file and distribute linked combinations including the program with the OpenSSL library. You must comply with the GNU Affero General Public License in all respects for all of the code used other than as permitted herein. If you modify file(s) with this exception, you may extend this exception to your version of the file(s), but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it in the license file.
typedef LockStats<AtomicInt64> mongo::AtomicLockStats |
typedef UUID mongo::CollectionUUID |
A CollectionUUID is a 128-bit unique identifier, per RFC 4122, v4.
This class comprises a UUID to collection catalog, allowing for efficient collection lookup by UUID.
This class comprises the NamespaceString to UUID cache that prevents given namespaces from resolving to multiple UUIDs.
for a database collection. Newly created collections are assigned a new randomly generated CollectionUUID. In a replica-set or a sharded cluster, all nodes will use the same UUID for a given collection. The UUID stays with the collection until it is dropped, so even across renames. A copied collection must have its own new unique UUID though.
typedef LockerImpl<false> mongo::DefaultLockerImpl |
typedef int mongo::HANDLE |
typedef IndexDescriptor::IndexVersion mongo::IndexVersion |
using mongo::KVDatabaseCatalogEntryFactory = typedef decltype(defaultDatabaseCatalogEntryFactory) |
typedef uint64_t mongo::LockerId |
typedef LockerImpl<true> mongo::MMAPV1LockerImpl |
using mongo::OptionalCollectionUUID = typedef boost::optional<CollectionUUID> |
typedef boost::filesystem::path mongo::Path |
typedef LockStats<int64_t> mongo::SingleThreadedLockStats |
typedef class FastMapNoAlloc< ResourceId, TestStruct > mongo::TestFastMapNoAlloc |
typedef std::unique_ptr<WiredTigerSession, typename WiredTigerSessionCache::WiredTigerSessionDeleter> mongo::UniqueWiredTigerSession |
A unique handle type for WiredTigerSession pointers obtained from a WiredTigerSessionCache.
enum mongo::CanonicalsEtc |
|
strong |
enum mongo::Flags |
enum mongo::LockMode |
Lock modes.
Compatibility Matrix Granted mode ------------—.-----------------------------------------------------—. Requested Mode | MODE_NONE MODE_IS MODE_IX MODE_S MODE_X | MODE_IS | + + + + - | MODE_IX | + + + - - | MODE_S | + + - + - | MODE_X | + - - - - |
Enumerator | |
---|---|
MODE_NONE | |
MODE_IS | |
MODE_IX | |
MODE_S | |
MODE_X | |
LockModesCount |
enum mongo::LockResult |
Return values for the locking functions of the lock manager.
Enumerator | |
---|---|
LOCK_OK | The lock request was granted and is now on the granted list for the specified resource. |
LOCK_WAITING | The lock request was not granted because of conflict. If this value is returned, the request was placed on the conflict queue of the specified resource and a call to the LockGrantNotification::notify callback should be expected with the resource whose lock was requested. |
LOCK_TIMEOUT | The lock request waited, but timed out before it could be granted. This value is never returned by the LockManager methods here, but by the Locker class, which offers capability to block while waiting for locks. |
LOCK_DEADLOCK | The lock request was not granted because it would result in a deadlock. No changes to the state of the Locker would be made if this value is returned (i.e., it will not be killed due to deadlock). It is up to the caller to decide how to recover from this return value - could be either release some locks and try again, or just bail with an error and have some upper code handle it. |
LOCK_INVALID | This is used as an initializer value. Should never be returned. |
enum mongo::ResourceType |
Hierarchy of resource types.
The lock manager knows nothing about this hierarchy, it is purely logical. Resources of different types will never conflict with each other.
While the lock manager does not know or care about ordering, the general policy is that resources are acquired in the order below. For example, one might first acquire a RESOURCE_GLOBAL and then the desired RESOURCE_DATABASE, both using intent modes, and finally a RESOURCE_COLLECTION in exclusive mode. When locking multiple resources of the same type, the canonical order is by resourceId order.
It is OK to lock resources out of order, but it is the users responsibility to ensure ordering is consistent so deadlock cannot occur.
Enumerator | |
---|---|
RESOURCE_INVALID | |
RESOURCE_GLOBAL | |
RESOURCE_MMAPV1_FLUSH | |
RESOURCE_DATABASE | |
RESOURCE_COLLECTION | |
RESOURCE_METADATA | |
RESOURCE_MUTEX | |
ResourceTypesCount |
enum mongo::ValidateCmdLevel : int |
|
strong |
|
strong |
The ValidationStage allows the IndexConsistency class to perform the correct operations that depend on where we are in the validation.
Enumerator | |
---|---|
DOCUMENT | |
INDEX | |
NONE |
void mongo::_applyOpToDataFiles | ( | const string & | database, |
FileOp & | fo, | ||
bool | afterAllocator = false , |
||
const string & | path = storageGlobalParams.dbpath |
||
) |
void mongo::_checkQuota | ( | bool | enforceQuota, |
int | fileNo | ||
) |
void mongo::_deleteDataFiles | ( | const std::string & | database | ) |
void mongo::_replaceWithRecovered | ( | const string & | database, |
const char * | reservedPathString | ||
) |
Status mongo::_updateNonReplicatedIndexPerCollection | ( | OperationContext * | opCtx, |
Collection * | coll | ||
) |
Status mongo::_updateNonReplicatedUniqueIndexesPerDatabase | ( | OperationContext * | opCtx, |
const std::string & | dbName | ||
) |
void mongo::_updateUniqueIndexesForDatabase | ( | OperationContext * | opCtx, |
const std::string & | dbname | ||
) |
void mongo::addCollectionUUIDs | ( | OperationContext * | opCtx | ) |
Adds UUIDs to all replicated collections of all databases if they do not already have UUIDs.
If this function is not necessary for SERVER-33247, it can be removed.
unsigned long long mongo::AlignNumber | ( | unsigned long long | number, |
unsigned long long | granularity | ||
) |
void mongo::appendStorageEngineList | ( | ServiceContext * | service, |
BSONObjBuilder * | result | ||
) |
void mongo::assertStateV1RS | ( | OperationContext * | opCtx, |
const LocAndSize * | records, | ||
const LocAndSize * | drecs, | ||
const LocAndSize * | legacyGrabBag, | ||
const ExtentManager * | em, | ||
const DummyRecordStoreV1MetaData * | md | ||
) |
Asserts that the V1RecordStore defined by md has the passed in records and drecs in the correct order.
List of LocAndSize are terminated by a Null DiskLoc. Passing a NULL pointer means don't check that list.
std::string mongo::bigNumString | ( | long long | n, |
int | len | ||
) |
Generates a string of the specified length containing repeated concatenation of the hexadecimal representation of the input value.
int mongo::binDataCodeToLength | ( | int | codeByte | ) |
|
inline |
|
static |
void mongo::checkRoundTrip | ( | const CollectionOptions & | options1 | ) |
void mongo::checkStatus | ( | int | retStatus, |
int | desiredStatus, | ||
const char * | fnName, | ||
const char * | errMsg | ||
) |
Checks if retStatus == desiredStatus; else calls fassert.
mongo::Status mongo::cloneCollectionAsCapped | ( | OperationContext * | opCtx, |
Database * | db, | ||
const std::string & | shortFrom, | ||
const std::string & | shortTo, | ||
long long | size, | ||
bool | temp | ||
) |
Clones the collection "shortFrom" to the capped collection "shortTo" with a size of "size".
Status mongo::collMod | ( | OperationContext * | opCtx, |
const NamespaceString & | nss, | ||
const BSONObj & | cmdObj, | ||
BSONObjBuilder * | result | ||
) |
Performs the collection modification described in "cmdObj" on the collection "ns".
Status mongo::collModForUUIDUpgrade | ( | OperationContext * | opCtx, |
const NamespaceString & | nss, | ||
const BSONObj & | cmdObj, | ||
CollectionUUID | uuid | ||
) |
Status mongo::collModWithUpgrade | ( | OperationContext * | opCtx, |
const NamespaceString & | nss, | ||
const BSONObj & | cmdObj | ||
) |
Applies the collMod operation and optionally updates formatVersion of unique indexes belonging to collection "nss".
|
static |
size_t mongo::compress | ( | const char * | input, |
size_t | input_length, | ||
std::string * | output | ||
) |
mongo::Status mongo::convertToCapped | ( | OperationContext * | opCtx, |
const NamespaceString & | collectionName, | ||
long long | size | ||
) |
Converts the collection "collectionName" to a capped collection with a size of "size".
Status mongo::createCollection | ( | OperationContext * | opCtx, |
const std::string & | dbName, | ||
const BSONObj & | cmdObj, | ||
const BSONObj & | idIndex = BSONObj() |
||
) |
Creates a collection as described in "cmdObj" on the database "dbName".
Creates the collection's _id index according to 'idIndex', if it is non-empty. When 'idIndex' is empty, creates the default _id index.
Status mongo::createCollectionForApplyOps | ( | OperationContext * | opCtx, |
const std::string & | dbName, | ||
const BSONElement & | ui, | ||
const BSONObj & | cmdObj, | ||
const BSONObj & | idIndex = BSONObj() |
||
) |
As above, but only used by replication to apply operations.
This allows recreating collections with specific UUIDs (if ui is given), and in that case will rename any existing collections with the same name and a UUID to a temporary name. If ui is not given, an existing collection will result in an error.
void mongo::createLockFile | ( | ServiceContext * | service | ) |
Creates the lock file used to prevent concurrent processes from accessing the data files, as appropriate.
ExportedServerParameter<bool, ServerParameterType::kStartupOnly> mongo::createTimestampSafeUniqueIndexParameter | ( | ServerParameterSet::getGlobal() | , |
"createTimestampSafeUniqueIndex" | , | ||
& | createTimestampSafeUniqueIndex | ||
) |
void mongo::dataSyncFailedHandler | ( | ) |
intmax_t mongo::dbSize | ( | const string & | database | ) |
intmax_t mongo::dbSize | ( | const std::string & | database | ) |
auto mongo::defaultDatabaseCatalogEntryFactory | ( | const StringData | name, |
KVStorageEngine *const | engine | ||
) |
|
static |
|
static |
|
static |
void mongo::doValidate | ( | OperationContext * | opCtx, |
ValidateResults * | results | ||
) |
Checks if the database file is corrupt.
void mongo::dropAllDatabasesExceptLocalImpl | ( | OperationContext * | opCtx | ) |
Status mongo::dropCollection | ( | OperationContext * | opCtx, |
const NamespaceString & | collectionName, | ||
BSONObjBuilder & | result, | ||
const repl::OpTime & | dropOpTime, | ||
DropCollectionSystemCollectionMode | systemCollectionMode | ||
) |
Status mongo::dropDatabase | ( | OperationContext * | opCtx, |
const std::string & | dbName | ||
) |
Drops the database "dbName".
Status mongo::dropIndexes | ( | OperationContext * | opCtx, |
const NamespaceString & | nss, | ||
const BSONObj & | idxDescriptor, | ||
BSONObjBuilder * | result | ||
) |
Drops the index from collection "nss" that matches the "idxDescriptor" and populates "result" with some statistics about the dropped index.
std::unique_ptr<Target> mongo::dynamic_ptr_cast | ( | std::unique_ptr< Current > && | p | ) |
mongo::Status mongo::emptyCapped | ( | OperationContext * | opCtx, |
const NamespaceString & | collectionName | ||
) |
Drops all documents contained in the capped collection, "collectionName".
GlobalInitializerRegisterer mongo::encryptionHooksInitializer | ( | "SetEncryptionHooks" | , |
{"ServiceContext"} | , | ||
[] (InitializerContext *context) { EncryptionHooks::set(getGlobalServiceContext(), stdx::make_unique< EncryptionHooks >());return Status::OK();} | , | ||
[] (DeinitializerContext *context) { EncryptionHooks::set(getGlobalServiceContext(), nullptr);return Status::OK();} | |||
) |
boost::filesystem::path mongo::ensureParentDirCreated | ( | const boost::filesystem::path & | p | ) |
Aliases for Win32 CRT functions.
void mongo::flushMyDirectory | ( | const boost::filesystem::path & | file | ) |
|
inline |
Provides a reference to the active durability interface.
TODO: The only reason this is an inline function is that tests try to link it and fail if the MMAP V1 engine is not included.
SortedDataInterface * mongo::getEphemeralForTestBtreeImpl | ( | const Ordering & | ordering, |
bool | isUnique, | ||
std::shared_ptr< void > * | dataInOut | ||
) |
Caller takes ownership.
All permanent data will be stored and fetch from dataInOut.
StorageEngine::Factory * mongo::getFactoryForStorageEngine | ( | ServiceContext * | context, |
StringData | name | ||
) |
Returns an unowned pointer to the factory for the named storage engine, or nullptr.
NOTE: Exposed only for use in legacy testing scenarios.
LockManager * mongo::getGlobalLockManager | ( | ) |
Retrieves the global lock manager instance.
std::size_t mongo::getMinOSPageSizeBytes | ( | ) |
SortedDataInterface* mongo::getMMAPV1Interface | ( | HeadManager * | headManager, |
RecordStore * | recordStore, | ||
SavedCursorRegistry * | cursorRegistry, | ||
const Ordering & | ordering, | ||
const std::string & | indexName, | ||
IndexDescriptor::IndexVersion | version, | ||
bool | isUnique | ||
) |
SortedDataInterface* mongo::getMMAPV1Interface | ( | HeadManager * | headManager, |
RecordStore * | recordStore, | ||
SavedCursorRegistry * | cursorRegistry, | ||
const Ordering & | ordering, | ||
const string & | indexName, | ||
IndexVersion | version, | ||
bool | isUnique | ||
) |
|
static |
dev_t mongo::getPartition | ( | const std::string & | path | ) |
mongo::if | ( | !status. | isOK() | ) |
mongo::if | ( | !collectionOptions.collation. | isEmpty() | ) |
mongo::if | ( | !collectionOptions.validator. | isEmpty() | ) |
mongo::if | ( | auto | indexOptions = collectionOptions.indexOptionDefaults["storageEngine"] | ) |
mongo::if | ( | collectionOptions. | isView() | ) |
int mongo::index_collator_customize | ( | WT_COLLATOR * | coll, |
WT_SESSION * | s, | ||
const char * | uri, | ||
WT_CONFIG_ITEM * | metadata, | ||
WT_COLLATOR ** | collp | ||
) |
MONGO_COMPILER_API_EXPORT int mongo::index_collator_extension | ( | WT_CONNECTION * | conn, |
WT_CONFIG_ARG * | cfg | ||
) |
void mongo::initializeStorageEngine | ( | ServiceContext * | service | ) |
Initializes the storage engine on "service".
void mongo::initializeV1RS | ( | OperationContext * | opCtx, |
const LocAndSize * | records, | ||
const LocAndSize * | drecs, | ||
const LocAndSize * | legacyGrabBag, | ||
DummyExtentManager * | em, | ||
DummyRecordStoreV1MetaData * | md | ||
) |
Creates a V1 storage/mmap_v1 with the passed in records and DeletedRecords (drecs).
List of LocAndSize are terminated by a Null DiskLoc. Passing a NULL pointer is shorthand for an empty list. Each extent gets it's own DiskLoc file number. DiskLoc Offsets must be > 1000.
records must be sorted by extent/file. offsets within an extent can be in any order.
In a simple RS, drecs must be grouped into size-buckets, but the ordering within the size buckets is up to you.
In a capped collection, all drecs form a single list and must be grouped by extent, with each extent having at least one drec. capFirstNewRecord() and capExtent() must be correctly set on md before calling.
You are responsible for ensuring the records and drecs don't overlap.
ExtentManager and MetaData must both be empty.
void mongo::insertToIndex | ( | unowned_ptr< OperationContext > | opCtx, |
unowned_ptr< SortedDataInterface > | index, | ||
std::initializer_list< IndexKeyEntry > | toInsert | ||
) |
Inserts all entries in toInsert into index.
ASSERT_OKs the inserts. Always uses dupsAllowed=true.
Should be used for declaring and changing conditions, not for testing inserts.
|
inline |
Mode A is covered by mode B if the set of conflicts for mode A is a subset of the set of conflicts for mode B.
For example S is covered by X. IS is covered by S. However, IX is not covered by S or IS.
bool mongo::isRegisteredStorageEngine | ( | ServiceContext * | service, |
StringData | name | ||
) |
Returns true if "name" refers to a registered storage engine.
|
inline |
Returns whether the passed in mode is S or IS.
Used for validation checks.
std::unique_ptr< mongo::KVDatabaseCatalogEntryMock > mongo::kvDatabaseCatalogEntryMockFactory | ( | StringData | name, |
KVStorageEngine * | engine | ||
) |
Copyright (C) 2016 MongoDB Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
As a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library under certain conditions as described in each individual source file and distribute linked combinations including the program with the OpenSSL library. You must comply with the GNU Affero General Public License in all respects for all of the code used other than as permitted herein. If you modify file(s) with this exception, you may extend this exception to your version of the file(s), but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it in the license file.
AtomicInt32 mongo::kWiredTigerCursorCacheSize | ( | - | 100 | ) |
const char * mongo::legacyModeName | ( | LockMode | mode | ) |
Legacy lock mode names in parity for 2.6 reports.
const RecordId mongo::loc1 | ( | 0 | , |
42 | |||
) |
const RecordId mongo::loc2 | ( | 0 | , |
44 | |||
) |
const RecordId mongo::loc3 | ( | 0 | , |
46 | |||
) |
const RecordId mongo::loc4 | ( | 0 | , |
48 | |||
) |
const RecordId mongo::loc5 | ( | 0 | , |
50 | |||
) |
const RecordId mongo::loc6 | ( | 0 | , |
52 | |||
) |
const RecordId mongo::loc7 | ( | 0 | , |
54 | |||
) |
const RecordId mongo::loc8 | ( | 0 | , |
56 | |||
) |
const char * mongo::lockRequestStatusName | ( | LockRequest::Status | status | ) |
Returns a human readable status name for the specified LockRequest status.
mongo::LOG | ( | 1 | ) |
std::unique_ptr<HarnessHelper> mongo::makeHarnessHelper | ( | ) |
size_t mongo::maxCompressedLength | ( | size_t | source_len | ) |
AtomicInt32 mongo::maxIndexBuildMemoryUsageMegabytes | ( | 500 | ) |
void mongo::minOSPageSizeBytesTest | ( | size_t | minOSPageSizeBytes | ) |
GlobalInitializerRegisterer mongo::mobileKVEngineInitializer | ( | "MobileKVEngineInit" | , |
{"ServiceContext"} | , | ||
[] (InitializerContext *context) { registerStorageEngine(getGlobalServiceContext(), std::make_unique< MobileFactory >());return Status::OK();} | , | ||
[] (DeinitializerContext *const) { return Status::OK();} | |||
) |
const char * mongo::modeName | ( | LockMode | mode | ) |
Returns a human-readable name for the specified lock mode.
mongo::MONGO_DEFINE_SHIM | ( | CollectionInfoCache::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | Database::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | IndexCatalog::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | DatabaseHolder::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | IndexCatalogEntry::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | DatabaseHolder::getDatabaseHolder | ) |
mongo::MONGO_DEFINE_SHIM | ( | Database::dropDatabase | ) |
mongo::MONGO_DEFINE_SHIM | ( | Database::userCreateNS | ) |
mongo::MONGO_DEFINE_SHIM | ( | Database::dropAllDatabasesExceptLocal | ) |
mongo::MONGO_DEFINE_SHIM | ( | IndexCatalog::IndexIterator::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | IndexCatalog::fixIndexKey | ) |
mongo::MONGO_DEFINE_SHIM | ( | MultiIndexBlock::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | IndexCatalog::prepareInsertDeleteOptions | ) |
mongo::MONGO_DEFINE_SHIM | ( | Collection::makeImpl | ) |
mongo::MONGO_DEFINE_SHIM | ( | Collection::parseValidationLevel | ) |
mongo::MONGO_DEFINE_SHIM | ( | Collection::parseValidationAction | ) |
mongo::MONGO_EXPORT_STARTUP_SERVER_PARAMETER | ( | debugCollectionUUIDs | , |
bool | , | ||
false | |||
) |
mongo::MONGO_FAIL_POINT_DECLARE | ( | WTPrepareConflictForReads | ) |
mongo::MONGO_FAIL_POINT_DECLARE | ( | WTWriteConflictException | ) |
mongo::MONGO_FAIL_POINT_DECLARE | ( | WTWriteConflictExceptionForReads | ) |
mongo::MONGO_FAIL_POINT_DECLARE | ( | WTPausePrimaryOplogDurabilityLoop | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | WTPrepareConflictForReads | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | WTPausePrimaryOplogDurabilityLoop | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | dropDatabaseHangAfterLastCollectionDrop | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | crashAfterStartingIndexBuild | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | recordNeedsFetchFail | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | hangAfterStartingIndexBuild | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | hangAfterStartingIndexBuildUnlocked | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | slowBackgroundIndexBuild | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | allocateDiskFull | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | WTWriteConflictException | ) |
mongo::MONGO_FAIL_POINT_DEFINE | ( | WTWriteConflictExceptionForReads | ) |
mongo::MONGO_REGISTER_TEST_COMMAND | ( | JournalLatencyTestCmd | ) |
mongo::MONGO_STATIC_ASSERT | ( | RecordStoreV1Base::Buckets | = =NamespaceDetails::SmallBuckets+NamespaceDetails::LargeBuckets | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(Extent) - | 4 = =48+128 | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(void *) | = =sizeof(size_t) | ) |
mongo::MONGO_STATIC_ASSERT | ( | DataFileHeader::HeaderSize | = =8192 | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(static_cast< DataFileHeader * >(NULL) ->data) | = =4 | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(DataFileHeader) - sizeof(static_cast< DataFileHeader * >(NULL) ->data) | = =DataFileHeader::HeaderSize | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(RecordStoreV1Base::bucketSizes)/sizeof(RecordStoreV1Base::bucketSizes[0]) | = =RecordStoreV1Base::Buckets | ) |
mongo::MONGO_STATIC_ASSERT | ( | 16 | = =sizeof(DeletedRecord) | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(BtreeBucketV0) - sizeof(static_cast< BtreeBucketV0 * >(NULL) ->data) | = =BtreeBucketV0::HeaderSize | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(ResourceId) | = =sizeof(uint64_t) | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(NamespaceDetails) | = =496 | ) |
mongo::MONGO_STATIC_ASSERT | ( | sizeof(BtreeBucketV1) - sizeof(static_cast< BtreeBucketV1 * >(NULL) ->data) | = =BtreeBucketV1::HeaderSize | ) |
ServerStatusMetricField<Counter64> mongo::moveCounterDisplay | ( | "record.moves" | , |
& | moveCounter | ||
) |
auto mongo::newHarnessHelper | ( | ) |
|
inline |
|
inline |
|
inline |
int mongo::oldCompare | ( | const BSONObj & | l, |
const BSONObj & | r, | ||
const Ordering & | o | ||
) |
int mongo::oldCompareElementValues | ( | const BSONElement & | l, |
const BSONElement & | r | ||
) |
int mongo::oldElemCompare | ( | const BSONElement & | l, |
const BSONElement & | r | ||
) |
|
inline |
|
inline |
std::ostream & mongo::operator<< | ( | std::ostream & | stream, |
const IndexKeyEntry & | entry | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void mongo::rawCompress | ( | const char * | input, |
size_t | input_length, | ||
char * | compressed, | ||
size_t * | compressed_length | ||
) |
MONGO_INITIALIZER() mongo::RegisterHarnessFactory | ( | InitializerContext * | const | ) |
void mongo::registerHarnessHelperFactory | ( | stdx::function< std::unique_ptr< HarnessHelper >()> | factory | ) |
void mongo::registerStorageEngine | ( | ServiceContext * | service, |
std::unique_ptr< StorageEngine::Factory > | factory | ||
) |
Registers a storage engine onto the given "service".
unsigned long long mongo::removeAndSlideBit | ( | unsigned long long | b, |
int | x | ||
) |
void mongo::removeFromIndex | ( | unowned_ptr< OperationContext > | opCtx, |
unowned_ptr< SortedDataInterface > | index, | ||
std::initializer_list< IndexKeyEntry > | toRemove | ||
) |
Removes all entries in toRemove from index.
Always uses dupsAllowed=true.
Should be used for declaring and changing conditions, not for testing removes.
|
inline |
Status mongo::renameCollection | ( | OperationContext * | opCtx, |
const NamespaceString & | source, | ||
const NamespaceString & | target, | ||
const RenameCollectionOptions & | options | ||
) |
Status mongo::renameCollectionForApplyOps | ( | OperationContext * | opCtx, |
const std::string & | dbName, | ||
const BSONElement & | ui, | ||
const BSONObj & | cmd, | ||
const repl::OpTime & | renameOpTime | ||
) |
As above, but may only be called from applyCommand_inlock.
This allows creating a collection with a specific UUID for cross-database renames.
When 'cmd' contains dropTarget=true, 'renameOpTime' is used to rename the target collection to a drop-pending collection.
Status mongo::renameCollectionForRollback | ( | OperationContext * | opCtx, |
const NamespaceString & | target, | ||
const UUID & | uuid | ||
) |
Same as renameCollection(), but used for rolling back renameCollection operations only.
'uuid' is used to look up the source namespace. The 'target' namespace must refer to the same database as the source.
Status mongo::repairDatabaseMmapv1 | ( | StorageEngine * | engine, |
OperationContext * | opCtx, | ||
const std::string & | dbName, | ||
bool | preserveClonedFilesOnFailure, | ||
bool | backupOriginalFiles | ||
) |
MONGO_INITIALIZER() mongo::RepairDatabaseMMapV1 | ( | InitializerContext * | context | ) |
void mongo::reportGlobalLockingStats | ( | SingleThreadedLockStats * | outStats | ) |
Reports instance-wide locking statistics, which can then be converted to BSON or logged.
void mongo::resetGlobalLockStats | ( | ) |
Currently used for testing only.
const char * mongo::resourceTypeName | ( | ResourceType | resourceType | ) |
Returns a human-readable name for the specified resource type.
void mongo::setRepairDatabaseMmapv1Impl | ( | stdx::function< Status(StorageEngine *engine, OperationContext *, const std::string &, bool, bool)> | impl | ) |
void mongo::setRepairDatabaseMmapv1Impl | ( | stdx::function< Status(StorageEngine *, OperationContext *, std::string const &, bool, bool)> | impl | ) |
|
inline |
void mongo::shutdownGlobalStorageEngineCleanly | ( | ServiceContext * | service | ) |
Shuts down storage engine cleanly and releases any locks on mongod.lock.
BSONObj mongo::simpleKey | ( | char | c, |
int | n | ||
) |
Generates key on a field 'a', with the specified number of repetitions of the character.
|
inline |
Status mongo::sqliteRCToStatus | ( | int | retCode, |
const char * | prefix | ||
) |
Converts SQLite return codes to MongoDB statuses.
|
static |
|
static |
mongo::TEST | ( | Deadlock | , |
NoDeadlock | |||
) |
mongo::TEST | ( | ResourceId | , |
Semantics | |||
) |
mongo::TEST | ( | LockStats | , |
NoWait | |||
) |
mongo::TEST | ( | NamespaceTest | , |
Basics | |||
) |
mongo::TEST | ( | LockerImpl | , |
LockNoConflict | |||
) |
mongo::TEST | ( | CollectionOptions | , |
SimpleRoundTrip | |||
) |
mongo::TEST | ( | Deadlock | , |
Simple | |||
) |
mongo::TEST | ( | FastMapNoAlloc | , |
Empty | |||
) |
mongo::TEST | ( | NamespaceTest | , |
ExtraName | |||
) |
mongo::TEST | ( | LockStats | , |
Wait | |||
) |
mongo::TEST | ( | ResourceId | , |
Constructors | |||
) |
mongo::TEST | ( | FastMapNoAlloc | , |
NotEmpty | |||
) |
mongo::TEST | ( | CollectionOptions | , |
Validate | |||
) |
mongo::TEST | ( | ResourceId | , |
Masking | |||
) |
mongo::TEST | ( | LockerImpl | , |
ReLockNoConflict | |||
) |
mongo::TEST | ( | CollectionOptions | , |
Validator | |||
) |
mongo::TEST | ( | Deadlock | , |
SimpleUpgrade | |||
) |
mongo::TEST | ( | LockerImpl | , |
ConflictWithTimeout | |||
) |
mongo::TEST | ( | LockManager | , |
Grant | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ErrorBadSize | |||
) |
mongo::TEST | ( | LockStats | , |
Reporting | |||
) |
mongo::TEST | ( | FastMapNoAlloc | , |
FindNonExisting | |||
) |
mongo::TEST | ( | FastMapNoAlloc | , |
FindAndRemove | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ErrorBadMax | |||
) |
mongo::TEST | ( | CollectionOptions | , |
CappedSizeRoundsUpForAlignment | |||
) |
mongo::TEST | ( | LockerImpl | , |
ConflictUpgradeWithTimeout | |||
) |
mongo::TEST | ( | Deadlock | , |
Indirect | |||
) |
mongo::TEST | ( | LockManager | , |
GrantMultipleNoConflict | |||
) |
mongo::TEST | ( | CollectionOptions | , |
IgnoreSizeWrongType | |||
) |
mongo::TEST | ( | CollectionOptions | , |
IgnoreMaxWrongType | |||
) |
mongo::TEST | ( | LockerImpl | , |
ReadTransaction | |||
) |
mongo::TEST | ( | CollectionOptions | , |
InvalidStorageEngineField | |||
) |
mongo::TEST | ( | LockManager | , |
GrantMultipleFIFOOrder | |||
) |
mongo::TEST | ( | FastMapNoAlloc | , |
RemoveAll | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ParseEngineField | |||
) |
mongo::TEST | ( | Deadlock | , |
IndirectWithUpgrade | |||
) |
mongo::TEST | ( | LockerImpl | , |
saveAndRestoreGlobal | |||
) |
Test that saveMMAPV1LockerImpl works by examining the output.
mongo::TEST | ( | CollectionOptions | , |
ResetStorageEngineField | |||
) |
mongo::TEST | ( | LockerImpl | , |
saveAndRestoreGlobalAcquiredTwice | |||
) |
Test that we don't unlock when we have the global lock more than once.
mongo::TEST | ( | LockManager | , |
GrantRecursive | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ModifyStorageEngineField | |||
) |
mongo::TEST | ( | CollectionOptions | , |
FailToParseCollationThatIsNotAnObject | |||
) |
mongo::TEST | ( | LockerImpl | , |
saveAndRestoreDBAndCollection | |||
) |
Tests that restoreMMAPV1LockerImpl works by locking a db and collection and saving + restoring.
mongo::TEST | ( | CollectionOptions | , |
FailToParseCollationThatIsAnEmptyObject | |||
) |
mongo::TEST | ( | LockManager | , |
GrantRecursiveCompatibleConvertUp | |||
) |
mongo::TEST | ( | CollectionOptions | , |
CollationFieldParsesCorrectly | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ParsedCollationObjShouldBeOwned | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ResetClearsCollationField | |||
) |
mongo::TEST | ( | LockerImpl | , |
DefaultLocker | |||
) |
mongo::TEST | ( | CollectionOptions | , |
CollationFieldLeftEmptyWhenOmitted | |||
) |
mongo::TEST | ( | LockManager | , |
GrantRecursiveNonCompatibleConvertUp | |||
) |
mongo::TEST | ( | CollectionOptions | , |
CollationFieldNotDumpedToBSONWhenOmitted | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ViewParsesCorrectly | |||
) |
mongo::TEST | ( | LockerImpl | , |
MMAPV1Locker | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ViewParsesCorrectlyWithoutPipeline | |||
) |
mongo::TEST | ( | CollectionOptions | , |
PipelineFieldRequiresViewOn | |||
) |
mongo::TEST | ( | LockManager | , |
GrantRecursiveNonCompatibleConvertDown | |||
) |
mongo::TEST | ( | CollectionOptions | , |
UnknownTopLevelOptionFailsToParse | |||
) |
mongo::TEST | ( | LockerImpl | , |
CanceledDeadlockUnblocks | |||
) |
mongo::TEST | ( | WiredTigerUtilTest | , |
GetStatisticsValueMissingTable | |||
) |
mongo::TEST | ( | CollectionOptions | , |
CreateOptionIgnoredIfFirst | |||
) |
mongo::TEST | ( | CollectionOptions | , |
CreateOptionIgnoredIfNotFirst | |||
) |
mongo::TEST | ( | WiredTigerUtilTest | , |
GetStatisticsValueStatisticsDisabled | |||
) |
mongo::TEST | ( | CollectionOptions | , |
UnknownOptionIgnoredIfCreateOptionFirst | |||
) |
mongo::TEST | ( | LockManager | , |
Conflict | |||
) |
mongo::TEST | ( | CollectionOptions | , |
UnknownOptionIgnoredIfCreateOptionPresent | |||
) |
mongo::TEST | ( | CollectionOptions | , |
UnknownOptionRejectedIfCreateOptionNotPresent | |||
) |
mongo::TEST | ( | WiredTigerUtilTest | , |
GetStatisticsValueInvalidKey | |||
) |
mongo::TEST | ( | CollectionOptions | , |
DuplicateCreateOptionIgnoredIfCreateOptionFirst | |||
) |
mongo::TEST | ( | CollectionOptions | , |
DuplicateCreateOptionIgnoredIfCreateOptionNotFirst | |||
) |
mongo::TEST | ( | WiredTigerUtilTest | , |
GetStatisticsValueValidKey | |||
) |
mongo::TEST | ( | CollectionOptions | , |
MaxTimeMSWhitelistedOptionIgnored | |||
) |
mongo::TEST | ( | LockerImpl | , |
SharedLocksShouldTwoPhaseLockIsTrue | |||
) |
mongo::TEST | ( | CollectionOptions | , |
WriteConcernWhitelistedOptionIgnored | |||
) |
mongo::TEST | ( | CollectionOptions | , |
ParseUUID | |||
) |
mongo::TEST | ( | LockManager | , |
MultipleConflict | |||
) |
mongo::TEST | ( | WiredTigerUtilTest | , |
GetStatisticsValueAsUInt8 | |||
) |
mongo::TEST | ( | LockManager | , |
ConflictCancelWaiting | |||
) |
mongo::TEST | ( | LockerImpl | , |
ModeIXAndXLockParticipatesInTwoPhaseLocking | |||
) |
mongo::TEST | ( | LockManager | , |
ConflictCancelMultipleWaiting | |||
) |
mongo::TEST | ( | LockerImpl | , |
OverrideLockRequestTimeout | |||
) |
mongo::TEST | ( | LockManager | , |
CancelWaitingConversionWeakModes | |||
) |
mongo::TEST | ( | LockerImpl | , |
DoNotWaitForLockAcquisition | |||
) |
mongo::TEST | ( | LockManager | , |
CancelWaitingConversionStrongModes | |||
) |
mongo::TEST | ( | LockManager | , |
ConflictingConversion | |||
) |
mongo::TEST | ( | LockerImpl | , |
GetLockerInfoShouldReportHeldLocks | |||
) |
mongo::TEST | ( | LockerImpl | , |
GetLockerInfoShouldReportPendingLocks | |||
) |
mongo::TEST | ( | LockManager | , |
ConflictingConversionInTheMiddle | |||
) |
mongo::TEST | ( | LockManager | , |
ConvertUpgrade | |||
) |
mongo::TEST | ( | LockerImpl | , |
ReaquireLockPendingUnlock | |||
) |
mongo::TEST | ( | LockManager | , |
Downgrade | |||
) |
mongo::TEST | ( | LockerImpl | , |
AcquireLockPendingUnlockWithCoveredMode | |||
) |
mongo::TEST | ( | LockerImpl | , |
ConvertLockPendingUnlock | |||
) |
mongo::TEST | ( | LockManager | , |
ValidateConflictMatrix | |||
) |
mongo::TEST | ( | LockerImpl | , |
ConvertLockPendingUnlockAndUnlock | |||
) |
mongo::TEST | ( | LockManager | , |
EnqueueAtFront | |||
) |
mongo::TEST | ( | LockManager | , |
CompatibleFirstImmediateGrant | |||
) |
mongo::TEST | ( | LockManager | , |
CompatibleFirstGrantAlreadyQueued | |||
) |
mongo::TEST | ( | LockManager | , |
CompatibleFirstDelayedGrant | |||
) |
mongo::TEST | ( | LockManager | , |
CompatibleFirstCancelWaiting | |||
) |
mongo::TEST | ( | LockManager | , |
Fairness | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetConfigurationStringInvalidURI | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetConfigurationStringNull | |||
) |
mongo::TEST_F | ( | KVStorageEngineTest | , |
ReconcileIdentsTest | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetConfigurationStringSimple | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetApplicationMetadataInvalidURI | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetApplicationMetadataNull | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetApplicationMetadataString | |||
) |
mongo::TEST_F | ( | KVStorageEngineTest | , |
RecreateIndexes | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetApplicationMetadataDuplicateKeys | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
GetApplicationMetadataTypes | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
ConsistentIfNotSupported | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
CheckApplicationMetadataFormatVersionMissingKey | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
FailsWithNoCommittedSnapshot | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
CheckApplicationMetadataFormatVersionString | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
CheckApplicationMetadataFormatVersionNumber | |||
) |
mongo::TEST_F | ( | WiredTigerUtilMetadataTest | , |
CheckApplicationMetadataFormatInvalidURI | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
FailsAfterDropAllSnapshotsWhileYielded | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
BasicFunctionality | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
UpdateAndDelete | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
InsertAndReadOnLocalSnapshot | |||
) |
mongo::TEST_F | ( | SnapshotManagerTests | , |
UpdateAndDeleteOnLocalSnapshot | |||
) |
void mongo::touch_pages | ( | const char * | buf, |
size_t | length, | ||
size_t | pageSize | ||
) |
Touches a range of pages, to encourage the OS to get them into the buffer pool.
void mongo::uassertNamespaceNotIndex | ( | StringData | ns, |
StringData | caller | ||
) |
bool mongo::uncompress | ( | const char * | compressed, |
size_t | compressed_length, | ||
std::string * | uncompressed | ||
) |
Path mongo::uniqueReservedPath | ( | const char * | prefix | ) |
Status mongo::updateNonReplicatedUniqueIndexes | ( | OperationContext * | opCtx | ) |
void mongo::updateUniqueIndexesOnUpgrade | ( | OperationContext * | opCtx | ) |
|
static |
void mongo::validateLogAndAppendError | ( | ValidateResults * | results, |
const std::string & | errMsg | ||
) |
Helper to add and log errors for validate.
Validate helper function to log an error and append the error to the results.
Status mongo::validateStorageOptions | ( | ServiceContext * | service, |
const BSONObj & | storageEngineOptions, | ||
stdx::function< Status(const StorageEngine::Factory *const, const BSONObj &)> | validateFunc | ||
) |
ExportedServerParameter<std::int32_t, ServerParameterType::kStartupAndRuntime> mongo::WiredTigerCursorCacheSizeSetting | ( | ServerParameterSet::getGlobal() | , |
"wiredTigerCursorCacheSize" | , | ||
& | kWiredTigerCursorCacheSize | ||
) |
MONGO_MODULE_STARTUP_OPTIONS_REGISTER() mongo::WiredTigerOptions | ( | InitializerContext * | context | ) |
void mongo::wiredTigerPrepareConflictLog | ( | int | attempts | ) |
Logs a message with the number of prepare conflict retry attempts.
int mongo::wiredTigerPrepareConflictRetry | ( | OperationContext * | opCtx, |
F && | f | ||
) |
Runs the argument function f as many times as needed for f to return an error other than WT_PREPARE_CONFLICT.
Each time f returns WT_PREPARE_CONFLICT we wait until the current unit of work commits or aborts, and then try f again. Imposes no upper limit on the number of times to re-try f, so any required timeout behavior must be enforced within f. The function f must return a WiredTiger error code.
auto mongo::writeConflictRetry | ( | OperationContext * | opCtx, |
StringData | opStr, | ||
StringData | ns, | ||
F && | f | ||
) |
Runs the argument function f as many times as needed for f to complete or throw an exception other than WriteConflictException.
For each time f throws a WriteConflictException, logs the error, waits a spell, cleans up, and then tries f again. Imposes no upper limit on the number of times to re-try f, so any required timeout behavior must be enforced within f.
If we are already in a WriteUnitOfWork, we assume that we are being called within a WriteConflictException retry loop up the call stack. Hence, this retry loop is reduced to an invocation of the argument function f without any exception handling and retry logic.
|
inline |
|
inline |
converts wiredtiger return codes to mongodb statuses.
Status mongo::wtRCToStatus_slow | ( | int | retCode, |
const char * | prefix | ||
) |
volatile int mongo::__record_touch_dummy = 1 |
|
static |
|
static |
bool mongo::_supportsDocLocking |
A RAII object that temporarily forces setting of the _supportsDocLocking global variable (defined in db/service_context.cpp and returned by mongo::supportsDocLocking()) for testing purposes.
Collection* const mongo::_this |
char mongo::_touch_pages_char_reader |
|
static |
const int mongo::BinDataCodeToLength[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 32} |
const int mongo::BinDataLengthToCode[] |
const unsigned mongo::BinDataLenMask = 0xf0 |
const int mongo::BinDataLenMax = 32 |
const unsigned mongo::BinDataTypeMask |
OperationContext* const const IndexCatalog* const mongo::cat |
std::unique_ptr<CollatorInterface> mongo::collator |
OperationContext *const Collection *const mongo::collection = db->getCollection(opCtx, ns) |
if (collection) return Status(ErrorCodes if (db->getViewCatalog()->lookup(opCtx, ns)) return Status(ErrorCodes CollectionOptions mongo::collectionOptions |
const BSONObj mongo::compoundKey1a |
const BSONObj mongo::compoundKey1b |
const BSONObj mongo::compoundKey1c |
const BSONObj mongo::compoundKey1d |
const BSONObj mongo::compoundKey2a |
const BSONObj mongo::compoundKey2b |
const BSONObj mongo::compoundKey2c |
const BSONObj mongo::compoundKey3a |
const BSONObj mongo::compoundKey3b |
const BSONObj mongo::compoundKey3c |
InitializerContext * mongo::context |
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool mongo::createDefaultIndexes |
bool mongo::createTimestampSafeUniqueIndex = false |
mongo::CmpUnitTest mongo::cunittest |
DataFileSync mongo::dataFileSync |
OperationContext Database* mongo::db |
Collection* const OperationContext* const const StringData OptionalCollectionUUID CollectionCatalogEntry* const RecordStore* const DatabaseCatalogEntry* const mongo::dbce |
Database* const OperationContext* const const StringData DatabaseCatalogEntry* const mongo::dbEntry |
bool mongo::debugCollectionUUIDs |
OperationContext const IndexDescriptor* mongo::desc |
IndexCatalogEntry* const OperationContext* const const StringData CollectionCatalogEntry* const std::unique_ptr<IndexDescriptor> mongo::descriptor |
Collection* const OperationContext* const const StringData OptionalCollectionUUID CollectionCatalogEntry* const mongo::details |
const OperationContext::Decoration< bool > mongo::documentValidationDisabled |
If true, Collection should do no validation of writes from this OperationContext.
Note that Decorations are value-constructed so this defaults to false.
mongo::else |
mongo::ExportedMaxIndexBuildMemoryUsageParameter mongo::exportedMaxIndexBuildMemoryUsageParameter |
|
static |
|
static |
|
static |
Collection* const OperationContext* const const StringData mongo::fullNS |
int mongo::inc = 0 |
OperationContext* const const IndexCatalog* const const bool mongo::includeUnfinishedIndexes |
|
static |
|
static |
IndexCatalogEntry* const OperationContext* const const StringData CollectionCatalogEntry* const std::unique_ptr<IndexDescriptor> CollectionInfoCache* const mongo::infoCache |
mongo::IndexUpdateTest mongo::iu_unittest |
|
static |
const int mongo::kDataFormatV1KeyStringV0IndexVersionV1 = 6 |
const int mongo::kDataFormatV2KeyStringV1IndexVersionV2 = 8 |
const int mongo::kDataFormatV3KeyStringV0UniqueIndexVersionV1 = 9 |
const int mongo::kDataFormatV4KeyStringV1UniqueIndexVersionV2 = 10 |
const BSONObj mongo::key0 = BSON("" << 0) |
const BSONObj mongo::key1 = BSON("" << 1) |
const BSONObj mongo::key2 = BSON("" << 2) |
const BSONObj mongo::key3 = BSON("" << 3) |
const BSONObj mongo::key4 = BSON("" << 4) |
const BSONObj mongo::key5 = BSON("" << 5) |
const BSONObj mongo::key6 = BSON("" << 6) |
const int mongo::kMaximumIndexVersion = kDataFormatV4KeyStringV1UniqueIndexVersionV2 |
const int mongo::kMinimumIndexVersion = kDataFormatV1KeyStringV0IndexVersionV1 |
|
static |
const std::string mongo::kWiredTigerEngineName = "wiredTiger" |
stdx::mutex mongo::mapViewMutex |
IndexCatalog* const Collection* const const int mongo::maxNumIndexesAllowed |
mongo::MemJournalServerStatusMetric mongo::memJournalServerStatusMetric |
const unsigned long long mongo::memoryMappedFileLocationFloor = 256LL * 1024LL * 1024LL * 1024LL |
mongo::MMAPV1Options mongo::mmapv1GlobalOptions |
Copyright (C) 2017 MongoDB Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
As a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library under certain conditions as described in each individual source file and distribute linked combinations including the program with the OpenSSL library. You must comply with the GNU Affero General Public License in all respects for all of the code used other than as permitted herein. If you modify file(s) with this exception, you may extend this exception to your version of the file(s), but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it in the license file.
Counter64 mongo::moveCounter |
Database* const OperationContext* const const StringData mongo::name |
int mongo::nDumped = 0 |
|
static |
IndexCatalogEntry *const OperationContext *const const StringData mongo::ns |
const Ordering mongo::nullOrdering = Ordering::make(BSONObj()) |
const int mongo::OldBucketSize = 8192 |
OperationContext *const mongo::opCtx |
OperationContext Database StringData BSONObj mongo::options |
OperationContext Database StringData BSONObj CollectionOptions::ParseKind mongo::parseKind |
PointerToDurableMappedFile mongo::privateViews |
Collection* const OperationContext* const const StringData OptionalCollectionUUID CollectionCatalogEntry* const RecordStore* const mongo::recordStore |
const ResourceId mongo::resourceIdAdminDB = ResourceId(RESOURCE_DATABASE, StringData("admin")) |
const ResourceId mongo::resourceIdLocalDB = ResourceId(RESOURCE_DATABASE, StringData("local")) |
const ResourceId mongo::resourceIdOplog = ResourceId(RESOURCE_COLLECTION, StringData("local.oplog.rs")) |
const ResourceId mongo::resourceIdParallelBatchWriterMode |
|
static |
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool const BSONObj& idIndex mongo::Status |
StorageGlobalParams mongo::storageGlobalParams |
IndexCatalog *const mongo::this_ |
Collection* const OperationContext* const const StringData OptionalCollectionUUID mongo::uuid |
OperationContext const IndexDescriptor InsertDeleteOptions* options mongo::void |
WiredTigerGlobalOptions mongo::wiredTigerGlobalOptions |