Storage Engine API
namespace_details_rsv1_metadata.h
Go to the documentation of this file.
1 // namespace_details_rsv1_metadata.h
2 
31 #pragma once
32 
33 #include <string>
34 
35 #include "mongo/base/string_data.h"
38 
39 namespace mongo {
40 
41 class RecordStore;
42 
43 /*
44  * NOTE: NamespaceDetails will become a struct
45  * all dur, etc... will move here
46  */
48 public:
50 
52 
53  virtual const DiskLoc& capExtent() const;
54  virtual void setCapExtent(OperationContext* opCtx, const DiskLoc& loc);
55 
56  virtual const DiskLoc& capFirstNewRecord() const;
57  virtual void setCapFirstNewRecord(OperationContext* opCtx, const DiskLoc& loc);
58 
59  virtual bool capLooped() const;
60 
61  virtual long long dataSize() const;
62  virtual long long numRecords() const;
63 
64  virtual void incrementStats(OperationContext* opCtx,
65  long long dataSizeIncrement,
66  long long numRecordsIncrement);
67 
68  virtual void setStats(OperationContext* opCtx, long long dataSize, long long numRecords);
69 
70  virtual DiskLoc deletedListEntry(int bucket) const;
71  virtual void setDeletedListEntry(OperationContext* opCtx, int bucket, const DiskLoc& loc);
72 
73  virtual DiskLoc deletedListLegacyGrabBag() const;
74  virtual void setDeletedListLegacyGrabBag(OperationContext* opCtx, const DiskLoc& loc);
75 
76  virtual void orphanDeletedList(OperationContext* opCtx);
77 
78  virtual const DiskLoc& firstExtent(OperationContext* opCtx) const;
79  virtual void setFirstExtent(OperationContext* opCtx, const DiskLoc& loc);
80 
81  virtual const DiskLoc& lastExtent(OperationContext* opCtx) const;
82  virtual void setLastExtent(OperationContext* opCtx, const DiskLoc& loc);
83 
84  virtual bool isCapped() const;
85 
86  virtual bool isUserFlagSet(int flag) const;
87  virtual int userFlags() const;
88  virtual bool setUserFlag(OperationContext* opCtx, int flag);
89  virtual bool clearUserFlag(OperationContext* opCtx, int flag);
90  virtual bool replaceUserFlags(OperationContext* opCtx, int flags);
91 
92  virtual int lastExtentSize(OperationContext* opCtx) const;
93  virtual void setLastExtentSize(OperationContext* opCtx, int newMax);
94 
95  virtual long long maxCappedDocs() const;
96 
97 private:
98  std::string _ns;
101 };
102 }
virtual void setFirstExtent(OperationContext *opCtx, const DiskLoc &loc)
Definition: namespace_details_rsv1_metadata.cpp:136
virtual bool isUserFlagSet(int flag) const
Definition: namespace_details_rsv1_metadata.cpp:152
virtual void setStats(OperationContext *opCtx, long long dataSize, long long numRecords)
Definition: namespace_details_rsv1_metadata.cpp:84
virtual long long maxCappedDocs() const
Definition: namespace_details_rsv1_metadata.cpp:194
Collection *const OperationContext *const const StringData OptionalCollectionUUID CollectionCatalogEntry *const details
Definition: collection_impl.cpp:80
virtual void setLastExtentSize(OperationContext *opCtx, int newMax)
Definition: namespace_details_rsv1_metadata.cpp:188
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
virtual bool clearUserFlag(OperationContext *opCtx, int flag)
Definition: namespace_details_rsv1_metadata.cpp:168
virtual void incrementStats(OperationContext *opCtx, long long dataSizeIncrement, long long numRecordsIncrement)
Definition: namespace_details_rsv1_metadata.cpp:75
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
virtual const DiskLoc & capFirstNewRecord() const
Definition: namespace_details_rsv1_metadata.cpp:55
virtual void setCapExtent(OperationContext *opCtx, const DiskLoc &loc)
Definition: namespace_details_rsv1_metadata.cpp:51
virtual ~NamespaceDetailsRSV1MetaData()
Definition: namespace_details_rsv1_metadata.h:51
virtual void setLastExtent(OperationContext *opCtx, const DiskLoc &loc)
Definition: namespace_details_rsv1_metadata.cpp:144
virtual DiskLoc deletedListLegacyGrabBag() const
Definition: namespace_details_rsv1_metadata.cpp:116
std::string _ns
Definition: namespace_details_rsv1_metadata.h:98
virtual long long dataSize() const
Definition: namespace_details_rsv1_metadata.cpp:68
represents a disk location/offset on disk in a database.
Definition: diskloc.h:53
Definition: namespace_details.h:47
virtual void setDeletedListLegacyGrabBag(OperationContext *opCtx, const DiskLoc &loc)
Definition: namespace_details_rsv1_metadata.cpp:120
virtual DiskLoc deletedListEntry(int bucket) const
Definition: namespace_details_rsv1_metadata.cpp:92
virtual long long numRecords() const
Definition: namespace_details_rsv1_metadata.cpp:71
virtual void orphanDeletedList(OperationContext *opCtx)
Definition: namespace_details_rsv1_metadata.cpp:125
An abstraction used for storing documents in a collection or entries in an index. ...
Definition: record_store.h:282
DiskLoc bucket
Definition: btree_interface.cpp:336
virtual bool capLooped() const
Definition: namespace_details_rsv1_metadata.cpp:64
NamespaceDetailsRSV1MetaData(StringData ns, NamespaceDetails *details)
Definition: namespace_details_rsv1_metadata.cpp:44
virtual const DiskLoc & firstExtent(OperationContext *opCtx) const
Definition: namespace_details_rsv1_metadata.cpp:132
virtual int lastExtentSize(OperationContext *opCtx) const
Definition: namespace_details_rsv1_metadata.cpp:184
virtual void setDeletedListEntry(OperationContext *opCtx, int bucket, const DiskLoc &loc)
Definition: namespace_details_rsv1_metadata.cpp:107
virtual const DiskLoc & capExtent() const
Definition: namespace_details_rsv1_metadata.cpp:47
virtual const DiskLoc & lastExtent(OperationContext *opCtx) const
Definition: namespace_details_rsv1_metadata.cpp:140
virtual bool isCapped() const
Definition: namespace_details_rsv1_metadata.cpp:148
Definition: record_store_v1_base.h:46
virtual bool setUserFlag(OperationContext *opCtx, int flag)
Definition: namespace_details_rsv1_metadata.cpp:160
Definition: namespace_details_rsv1_metadata.h:47
virtual void setCapFirstNewRecord(OperationContext *opCtx, const DiskLoc &loc)
Definition: namespace_details_rsv1_metadata.cpp:59
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
virtual int userFlags() const
Definition: namespace_details_rsv1_metadata.cpp:156
RecordStore * _namespaceRecordStore
Definition: namespace_details_rsv1_metadata.h:100
virtual bool replaceUserFlags(OperationContext *opCtx, int flags)
Definition: namespace_details_rsv1_metadata.cpp:176
NamespaceDetails * _details
Definition: namespace_details_rsv1_metadata.h:99