Storage Engine API
coll_mod.h
Go to the documentation of this file.
1 
29 #include "mongo/base/status.h"
30 #include "mongo/base/status_with.h"
32 
33 namespace mongo {
34 class BSONObj;
35 class BSONObjBuilder;
36 class Collection;
37 class NamespaceString;
38 class OperationContext;
39 
44 void addCollectionUUIDs(OperationContext* opCtx);
45 
49 Status collMod(OperationContext* opCtx,
50  const NamespaceString& ns,
51  const BSONObj& cmdObj,
52  BSONObjBuilder* result);
53 
54 /*
55  * Adds uuid to the collection "ns" if the collection does not already have a UUID.
56  * This is called if a collection failed to be assigned a UUID during upgrade to 3.6.
57  */
58 Status collModForUUIDUpgrade(OperationContext* opCtx,
59  const NamespaceString& ns,
60  const BSONObj& cmdObj,
62 
67 Status collModWithUpgrade(OperationContext* opCtx,
68  const NamespaceString& nss,
69  const BSONObj& cmdObj);
70 
71 /*
72  * Updates the unique indexes to timestamp safe unique index format on setFCV=4.2. It also updates
73  * non-replicated unique indexes indirectly by calling updateNonReplicatedUniqueIndexes().
74  */
75 void updateUniqueIndexesOnUpgrade(OperationContext* opCtx);
76 
77 /*
78  * Updates non-replicated unique indexes to timestamp safe unique index format.
79  */
81 } // namespace mongo
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
Status collMod(OperationContext *opCtx, const NamespaceString &nss, const BSONObj &cmdObj, BSONObjBuilder *result)
Performs the collection modification described in "cmdObj" on the collection "ns".
Definition: coll_mod.cpp:534
OperationContext Database StringData BSONObj CollectionOptions::ParseKind bool const BSONObj &idIndex Status
Definition: database_impl.cpp:956
UUID CollectionUUID
A CollectionUUID is a 128-bit unique identifier, per RFC 4122, v4.
Definition: collection_options.h:53
Status collModWithUpgrade(OperationContext *opCtx, const NamespaceString &nss, const BSONObj &cmdObj)
Applies the collMod operation and optionally updates formatVersion of unique indexes belonging to col...
Definition: coll_mod.cpp:546
Collection *const OperationContext *const const StringData OptionalCollectionUUID uuid
Definition: collection_impl.cpp:80
void addCollectionUUIDs(OperationContext *opCtx)
Adds UUIDs to all replicated collections of all databases if they do not already have UUIDs...
Definition: coll_mod.cpp:583
Status collModForUUIDUpgrade(OperationContext *opCtx, const NamespaceString &nss, const BSONObj &cmdObj, CollectionUUID uuid)
Definition: coll_mod.cpp:570
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
Status updateNonReplicatedUniqueIndexes(OperationContext *opCtx)
Definition: coll_mod.cpp:760
void updateUniqueIndexesOnUpgrade(OperationContext *opCtx)
Definition: coll_mod.cpp:727