diff options
author | Geert Bosch <geert@mongodb.com> | 2020-04-22 01:00:21 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-06-10 16:19:05 +0000 |
commit | b63e8cc9ba5c3897c47a33a6aec9981f2e3c53de (patch) | |
tree | 0aab1c0364cc481eb1b5f0d25851e3d8214919f3 /src/mongo/db/catalog/index_catalog_impl.h | |
parent | 07169364c2aece0fb99f4a97b796196edb033efa (diff) | |
download | mongo-b63e8cc9ba5c3897c47a33a6aec9981f2e3c53de.tar.gz |
SERVER-47873 Eliminate the Collection* saved in IndexDescriptor
Diffstat (limited to 'src/mongo/db/catalog/index_catalog_impl.h')
-rw-r--r-- | src/mongo/db/catalog/index_catalog_impl.h | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/src/mongo/db/catalog/index_catalog_impl.h b/src/mongo/db/catalog/index_catalog_impl.h index fa195004756..2b5ff4f5f4a 100644 --- a/src/mongo/db/catalog/index_catalog_impl.h +++ b/src/mongo/db/catalog/index_catalog_impl.h @@ -218,23 +218,8 @@ public: // ---- modify single index - /** - * Returns true if the index 'idx' is multikey, and returns false otherwise. - */ - bool isMultikey(const IndexDescriptor* const idx) override; - - /** - * Returns the path components that cause the index 'idx' to be multikey if the index supports - * path-level multikey tracking, and returns an empty vector if path-level multikey tracking - * isn't supported. - * - * If the index supports path-level multikey tracking but isn't multikey, then this function - * returns a vector with size equal to the number of elements in the index key pattern where - * each element in the vector is an empty set. - */ - MultikeyPaths getMultikeyPaths(OperationContext* opCtx, const IndexDescriptor* idx) override; - void setMultikeyPaths(OperationContext* const opCtx, + Collection* coll, const IndexDescriptor* desc, const MultikeyPaths& multikeyPaths) override; @@ -247,6 +232,7 @@ public: * This method may throw. */ Status indexRecords(OperationContext* opCtx, + Collection* coll, const std::vector<BsonRecord>& bsonRecords, int64_t* keysInsertedOut) override; @@ -254,6 +240,7 @@ public: * See IndexCatalog::updateRecord */ Status updateRecord(OperationContext* const opCtx, + Collection* coll, const BSONObj& oldDoc, const BSONObj& newDoc, const RecordId& recordId, @@ -286,10 +273,13 @@ public: * index constraints, as needed by replication. */ void prepareInsertDeleteOptions(OperationContext* opCtx, + const NamespaceString&, const IndexDescriptor* desc, InsertDeleteOptions* options) const override; - void indexBuildSuccess(OperationContext* opCtx, IndexCatalogEntry* index) override; + void indexBuildSuccess(OperationContext* opCtx, + const Collection* collection, + IndexCatalogEntry* index) override; private: static const BSONObj _idObj; // { _id : 1 } @@ -303,6 +293,7 @@ private: std::string _getAccessMethodName(const BSONObj& keyPattern) const; Status _indexKeys(OperationContext* opCtx, + Collection* coll, IndexCatalogEntry* index, const KeyStringSet& keys, const KeyStringSet& multikeyMetadataKeys, @@ -313,16 +304,19 @@ private: int64_t* keysInsertedOut); Status _indexFilteredRecords(OperationContext* opCtx, + Collection* coll, IndexCatalogEntry* index, const std::vector<BsonRecord>& bsonRecords, int64_t* keysInsertedOut); Status _indexRecords(OperationContext* opCtx, + Collection* coll, IndexCatalogEntry* index, const std::vector<BsonRecord>& bsonRecords, int64_t* keysInsertedOut); Status _updateRecord(OperationContext* const opCtx, + Collection* coll, IndexCatalogEntry* index, const BSONObj& oldDoc, const BSONObj& newDoc, |