summaryrefslogtreecommitdiff
path: root/src/mongo/db/db_raii.cpp
diff options
context:
space:
mode:
authorsamantharitter <samantha.ritter@10gen.com>2017-06-06 13:49:35 -0400
committersamantharitter <samantha.ritter@10gen.com>2017-06-15 13:54:58 -0400
commiteddb3e4535a9bf9198b207bf155889bf4625cdf0 (patch)
treed6b941bb582d5abbfef293503727d5c340410c54 /src/mongo/db/db_raii.cpp
parent1efbf03521e9c6d85df33ab6786f6c121d8b56c2 (diff)
downloadmongo-eddb3e4535a9bf9198b207bf155889bf4625cdf0.tar.gz
SERVER-29417 Attach logical session ids to cursors
Diffstat (limited to 'src/mongo/db/db_raii.cpp')
-rw-r--r--src/mongo/db/db_raii.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/db_raii.cpp b/src/mongo/db/db_raii.cpp
index 478047eb0cc..bff855fcc5b 100644
--- a/src/mongo/db/db_raii.cpp
+++ b/src/mongo/db/db_raii.cpp
@@ -72,6 +72,14 @@ AutoGetCollection::AutoGetCollection(OperationContext* opCtx,
}
}
+AutoGetCollectionOrView::AutoGetCollectionOrView(OperationContext* opCtx,
+ const NamespaceString& nss,
+ LockMode modeAll)
+ : _autoColl(opCtx, nss, modeAll, modeAll, AutoGetCollection::ViewMode::kViewsPermitted),
+ _view(_autoColl.getDb() && !_autoColl.getCollection()
+ ? _autoColl.getDb()->getViewCatalog()->lookup(opCtx, nss.ns())
+ : nullptr) {}
+
AutoGetOrCreateDb::AutoGetOrCreateDb(OperationContext* opCtx, StringData ns, LockMode mode)
: _dbLock(opCtx, ns, mode), _db(dbHolder().get(opCtx, ns)) {
invariant(mode == MODE_IX || mode == MODE_X);