diff options
author | Siyuan Zhou <siyuan.zhou@mongodb.com> | 2017-08-30 23:58:30 -0400 |
---|---|---|
committer | Siyuan Zhou <siyuan.zhou@mongodb.com> | 2017-09-15 17:20:22 -0400 |
commit | 7626535bbcc2f90b7815cbf1a8e6d2c0bef732f1 (patch) | |
tree | 8638e4aafe02c50a616e8f319f8ed0cae068210f /src/mongo/db/db_raii.h | |
parent | c9e5bcbc0dacfa8031f3a2aaa1c6e369d0bc26c3 (diff) | |
download | mongo-7626535bbcc2f90b7815cbf1a8e6d2c0bef732f1.tar.gz |
SERVER-30591 Do changeStream lookups by UUID instead of namespace.
Diffstat (limited to 'src/mongo/db/db_raii.h')
-rw-r--r-- | src/mongo/db/db_raii.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/db/db_raii.h b/src/mongo/db/db_raii.h index 7ff6b8f1a1d..e251d1fe05d 100644 --- a/src/mongo/db/db_raii.h +++ b/src/mongo/db/db_raii.h @@ -268,6 +268,12 @@ public: AutoGetCollectionForRead(OperationContext* opCtx, const NamespaceString& nss) : AutoGetCollectionForRead(opCtx, nss, AutoGetCollection::ViewMode::kViewsForbidden) {} + AutoGetCollectionForRead(OperationContext* opCtx, const NamespaceString& nss, Lock::DBLock lock) + : AutoGetCollectionForRead( + opCtx, nss, AutoGetCollection::ViewMode::kViewsForbidden, std::move(lock)) {} + + AutoGetCollectionForRead(OperationContext* opCtx, const StringData dbName, const UUID& uuid); + /** * This constructor is intended for internal use and should not be used outside this file. * AutoGetCollectionForReadCommand and AutoGetCollectionOrViewForReadCommand use 'viewMode' to @@ -283,10 +289,16 @@ public: AutoGetCollection::ViewMode viewMode, Lock::DBLock lock); Database* getDb() const { + if (!_autoColl) { + return nullptr; + } return _autoColl->getDb(); } Collection* getCollection() const { + if (!_autoColl) { + return nullptr; + } return _autoColl->getCollection(); } @@ -325,6 +337,10 @@ public: : AutoGetCollectionForReadCommand( opCtx, nss, AutoGetCollection::ViewMode::kViewsForbidden, std::move(lock)) {} + AutoGetCollectionForReadCommand(OperationContext* opCtx, + const StringData dbName, + const UUID& uuid); + Database* getDb() const { return _autoCollForRead->getDb(); } |