diff options
author | Louis Williams <louis.williams@mongodb.com> | 2019-01-25 17:09:09 -0500 |
---|---|---|
committer | Louis Williams <louis.williams@mongodb.com> | 2019-01-31 18:25:19 -0500 |
commit | f4656acfee11569a796e06d14e4825ab54d39ecc (patch) | |
tree | 6e0c71fe0e1f4fd32f95e6d7dc8f3b1e3b17b569 /src/mongo/db/index | |
parent | 79142496a53ae70d875a8797defbb4cdd699ce4f (diff) | |
download | mongo-f4656acfee11569a796e06d14e4825ab54d39ecc.tar.gz |
SERVER-37645 Add parsing for new index build fields in catalog
Diffstat (limited to 'src/mongo/db/index')
-rw-r--r-- | src/mongo/db/index/duplicate_key_tracker.h | 4 | ||||
-rw-r--r-- | src/mongo/db/index/index_build_interceptor.cpp | 9 | ||||
-rw-r--r-- | src/mongo/db/index/index_build_interceptor.h | 6 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/mongo/db/index/duplicate_key_tracker.h b/src/mongo/db/index/duplicate_key_tracker.h index d8047a7001d..8246397a508 100644 --- a/src/mongo/db/index/duplicate_key_tracker.h +++ b/src/mongo/db/index/duplicate_key_tracker.h @@ -72,6 +72,10 @@ public: */ bool areAllConstraintsChecked(OperationContext* opCtx) const; + const std::string& getConstraintsTableIdent() const { + return _keyConstraintsTable->rs()->getIdent(); + } + private: const IndexCatalogEntry* _indexCatalogEntry; diff --git a/src/mongo/db/index/index_build_interceptor.cpp b/src/mongo/db/index/index_build_interceptor.cpp index 8cea8b1ef2e..41fea74abba 100644 --- a/src/mongo/db/index/index_build_interceptor.cpp +++ b/src/mongo/db/index/index_build_interceptor.cpp @@ -80,6 +80,15 @@ bool IndexBuildInterceptor::areAllConstraintsChecked(OperationContext* opCtx) co return _duplicateKeyTracker->areAllConstraintsChecked(opCtx); } +const std::string& IndexBuildInterceptor::getSideWritesTableIdent() const { + return _sideWritesTable->rs()->getIdent(); +} + +const std::string& IndexBuildInterceptor::getConstraintViolationsTableIdent() const { + return _duplicateKeyTracker->getConstraintsTableIdent(); +} + + Status IndexBuildInterceptor::drainWritesIntoIndex(OperationContext* opCtx, const InsertDeleteOptions& options) { invariant(!opCtx->lockState()->inAWriteUnitOfWork()); diff --git a/src/mongo/db/index/index_build_interceptor.h b/src/mongo/db/index/index_build_interceptor.h index c3213827e62..39db95418f1 100644 --- a/src/mongo/db/index/index_build_interceptor.h +++ b/src/mongo/db/index/index_build_interceptor.h @@ -70,7 +70,7 @@ public: /** * Given a set of duplicate keys, record the keys for later verification by a call to - * checkConstraints(); + * checkDuplicateKeyConstraints(); */ Status recordDuplicateKeys(OperationContext* opCtx, const std::vector<BSONObj>& keys); @@ -109,6 +109,10 @@ public: */ boost::optional<MultikeyPaths> getMultikeyPaths() const; + const std::string& getSideWritesTableIdent() const; + + const std::string& getConstraintViolationsTableIdent() const; + private: using SideWriteRecord = std::pair<RecordId, BSONObj>; |