summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/collection_info_cache.h
diff options
context:
space:
mode:
authorDavid Storch <david.storch@10gen.com>2018-10-04 18:27:48 -0400
committerDavid Storch <david.storch@10gen.com>2018-10-23 17:18:11 -0400
commit2cdc2a96e1c8779658fe0eab459dcc38cf01c54d (patch)
tree875f55acaaba283f02895938ee4b6c764eac349a /src/mongo/db/catalog/collection_info_cache.h
parente7bed9bdcb376d5a06dce6228047309e8481f9cf (diff)
downloadmongo-2cdc2a96e1c8779658fe0eab459dcc38cf01c54d.tar.gz
SERVER-37443 Make catalog objects survive collection rename.
This change only applies to collection renames within the same database. Rename across databases requires copying the data, and the resulting collection will have a new UUID.
Diffstat (limited to 'src/mongo/db/catalog/collection_info_cache.h')
-rw-r--r--src/mongo/db/catalog/collection_info_cache.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/collection_info_cache.h b/src/mongo/db/catalog/collection_info_cache.h
index 28bd6832e91..2426b16490d 100644
--- a/src/mongo/db/catalog/collection_info_cache.h
+++ b/src/mongo/db/catalog/collection_info_cache.h
@@ -70,6 +70,8 @@ public:
virtual void notifyOfQuery(OperationContext* opCtx,
const std::set<std::string>& indexesUsed) = 0;
+
+ virtual void setNs(NamespaceString ns) = 0;
};
@@ -159,6 +161,10 @@ public:
return this->_impl().notifyOfQuery(opCtx, indexesUsed);
}
+ inline void setNs(NamespaceString ns) {
+ this->_impl().setNs(std::move(ns));
+ }
+
std::unique_ptr<Impl> _pimpl;
// This structure exists to give us a customization point to decide how to force users of this