31 #include "mongo/base/static_assert.h" 32 #include "mongo/db/namespace_string.h" 41 class OperationContext;
146 return ((
char*)
this) - ((
char*)d);
149 memset(
this, 0,
sizeof(
Extra));
154 return (
Extra*)(((
char*)d) + _next);
156 void setNext(OperationContext*
opCtx,
long ofs);
158 memcpy(
this, &e,
sizeof(
Extra));
163 if (_extraOffset == 0)
187 const IndexDetails&
idx(
int idxNo,
bool missingExpected =
false)
const;
232 bool includeBackgroundInProgress)
const;
240 void swapIndex(OperationContext* opCtx,
int a,
int b);
int indexBuildsInProgress
Definition: namespace_details.h:112
int ofs
Definition: btree_interface.cpp:337
int n
Definition: namespace_details.h:203
static const int SmallBuckets
Definition: namespace_details.h:54
struct mongo::NamespaceDetails::Stats stats
Collection *const OperationContext *const const StringData OptionalCollectionUUID CollectionCatalogEntry *const details
Definition: collection_impl.cpp:80
bool more()
Definition: namespace_details.h:194
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
const NamespaceDetails * d
Definition: namespace_details.h:204
DiskLoc capFirstNewRecord
Definition: namespace_details.h:99
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
const IndexDetails & next()
Definition: namespace_details.h:197
Collection *const collection
Definition: collection_info_cache_impl.cpp:53
DiskLoc deletedListLarge[LargeBuckets]
Definition: namespace_details.h:116
char _reserved[8]
Definition: namespace_details.h:121
int userFlags
Definition: namespace_details.h:114
int pos()
Definition: namespace_details.h:191
Definition: namespace_index.h:50
IndexDetails & idx(int idxNo, bool missingExpected=false)
Definition: namespace_details.cpp:120
unsigned long long _reservedA
Definition: namespace_details.h:108
Definition: namespace_details.h:49
static const int LargeBuckets
Definition: namespace_details.h:55
Extra * extra() const
Definition: namespace_details.h:162
NamespaceDetails * writingWithExtra(OperationContext *opCtx)
Make all linked Extra objects writeable as well.
Definition: namespace_details.cpp:208
unsigned long long multiKeyIndexBits
Definition: namespace_details.h:105
represents a disk location/offset on disk in a database.
Definition: diskloc.h:53
int lastExtentSize
Definition: namespace_details.h:81
IndexDetails _indexes[NIndexesBase]
Definition: namespace_details.h:86
DiskLoc deletedListLegacyGrabBag
Definition: namespace_details.h:71
this is NOT safe through a yield right now.
Definition: collection.h:160
Extra * allocExtra(OperationContext *opCtx, StringData ns, NamespaceIndex &ni, int nindexessofar)
Definition: namespace_details.cpp:85
Definition: namespace_details.h:47
how many: 1 per Collection.
Definition: index_catalog.h:62
DiskLoc lastExtent
Definition: namespace_details.h:61
IndexIterator ii(bool includeBackgroundInProgress=false) const
Definition: namespace_details.h:208
DiskLoc capExtent
Definition: namespace_details.h:98
void cappedTruncateLastDelUpdate()
Update cappedLastDelRecLastExtent() after capExtent changed in cappedTruncateAfter() ...
int nIndexes
Definition: namespace_details.h:83
double paddingFactorOldDoNotUse
Definition: namespace_details.h:94
DiskLoc firstExtent
Definition: namespace_details.h:60
Definition: namespace_details.h:49
Definition: index_catalog_entry.h:56
Definition: namespace_details.h:189
IndexDetails & getNextIndexDetails(OperationContext *opCtx, Collection *collection)
This fetches the IndexDetails for the next empty index slot.
unsigned short _dataFileVersion
Definition: namespace_details.h:102
long long nrecords
Definition: namespace_details.h:77
int maxDocsInCapped
Definition: namespace_details.h:92
int isCapped
Definition: namespace_details.h:90
int _catalogFindIndexByName(OperationContext *opCtx, const Collection *coll, StringData name, bool includeBackgroundInProgress) const
Returns the offset of the specified index name within the array of indexes.
Definition: namespace_details.cpp:225
NamespaceDetails(const DiskLoc &loc, bool _capped)
Definition: namespace_details.cpp:54
int systemFlagsOldDoNotUse
Definition: namespace_details.h:96
UserFlags
Definition: namespace_details.h:181
Definition: namespace_details.h:182
NamespaceDetails * writingWithoutExtra(OperationContext *opCtx)
Definition: namespace_details.cpp:202
void setMaxCappedDocs(OperationContext *opCtx, long long max)
Definition: namespace_details.cpp:215
Definition: namespace_details.h:74
Definition: index_details.h:46
DiskLoc deletedListSmall[SmallBuckets]
Definition: namespace_details.h:70
Definition: namespace_details.h:183
long long _extraOffset
Definition: namespace_details.h:109
Definition: namespace_details.h:49
long long datasize
Definition: namespace_details.h:76
Database *const OperationContext *const const StringData name
Definition: database_impl.cpp:82
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
void copyingFrom(OperationContext *opCtx, StringData thisns, NamespaceIndex &ni, NamespaceDetails *src)
Definition: namespace_details.cpp:179
void swapIndex(OperationContext *opCtx, int a, int b)
swaps all meta data for 2 indexes a and b are 2 index ids, whose contents will be swapped must have a...
unsigned short _indexFileVersion
Definition: namespace_details.h:103
MONGO_STATIC_ASSERT(NIndexesMax<=NIndexesBase+NIndexesExtra *2)