summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/index_catalog_impl.h
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-70556 Clean up index catalog counter methodsShin Yee Tan2022-10-181-5/+3
|
* SERVER-53594 Add frozen indexes to total index counts and subtract from in ↵Shin Yee Tan2022-10-141-1/+1
| | | | progress index counts
* SERVER-69877 Remove untimestamped writes to the catalog when restarting ↵Gregory Wlodarek2022-09-281-0/+3
| | | | unfinished index builds during startup recovery
* SERVER-68254 Create a function to instantiate collections and index entries ↵Gregory Wlodarek2022-08-311-0/+22
| | | | from earlier points in time
* SERVER-68253 Maintain collections and indexes in pending-drop state in the ↵Gregory Wlodarek2022-08-041-1/+3
| | | | CollectionCatalog
* SERVER-63865 Handle missing index idents during standalone startup recoveryGregory Noma2022-05-311-8/+10
|
* SERVER-6491 Prevent dropping shard key index when alternative index doesn't ↵Randolph Tan2022-03-161-31/+5
| | | | exist
* SERVER-63251 Refactor IndexAccessMethod to support non-SortedData indexesMathias Stearn2022-02-111-21/+0
|
* SERVER-50081 Remove duplicate documents of unique indexes in repair modeShin Yee Tan2022-01-281-3/+6
|
* SERVER-60123 Support sharding by cluster key _id on explicitly created ↵Haley Connelly2021-12-211-4/+5
| | | | clustered collection
* SERVER-61158 IndexCatalog::refreshEntry() accepts CreateIndexEntryFlagsBenety Goh2021-11-041-1/+2
|
* SERVER-59508 Support $or in partialFilterExpression; remove top level $and ↵James Wahlin2021-10-011-0/+7
| | | | restriction
* SERVER-57446 fix clang-tidy header issues and add header-filterDaniel Moody2021-08-021-16/+16
|
* SERVER-57127 IndexCatalog::findShardKeyPrefixedIndex() accepts CollectionPtrBenety Goh2021-06-031-0/+1
|
* SERVER-56002 SERVER-56023 Store Collection metadata in the Collection and ↵Henrik Edin2021-05-201-36/+48
| | | | | | | | | | | reply on the copy-on-write machinery to keep it in sync with the durable catalog. All updates to the metadata needs to happen through the Collection, moved interfaces from the DurableCatalog to the Collection. Removed back pointer to Collection in IndexCatalogEntryImpl, interfaces now correctly take a const or non-const Collection. This should make its iterface const-correct to avoid making bugs where the copy-on-write system for Collections are bypassed. Multikey handle is special as it needs to happen without exclusive access to the Collection. Implemented isolation for the Collection metadata when multikey is changed. It handles multi-doc transactions and is only commited to the Collection instance after the write to the durable catalog successfully commits. listCollections and listIndexes can now safetly read the metadata cache without needing to read from the durable catalog making them safe to do without Collection level locks.
* SERVER-51895 Fix so drop index is registering a valid ident with the reaper ↵Henrik Edin2020-11-101-0/+8
| | | | | | when possible Also fix so the drop pending ident reaper is used in standalone mode
* SERVER-50145 Collection instances are modified using copy-on-writeHenrik Edin2020-10-081-3/+19
| | | | | | | | When a writable collection is requested from the catalog a cloned instance will be returned. Its lifetime is managed by default in a WriteUnitOfWork and committed into the catalog in a commit handler. In the case of a rollback the cloned and modified collection instance is simply discarded. This removes the need to setup rollback handlers to restore any state written to a collection in the case of a rollback.
* SERVER-50984 Add CollectionPtr to replace usage of const Collection*Henrik Edin2020-09-261-9/+10
| | | | | | | | | | | | It implements a yieldable interface that is used to re-load the Collection pointer from the catalog after a yield that released locks. With lock-free reads and copy-on-write on Collection instances releasing locks without notifying an AutoGetCollection at a higher level may cause its pointers to dangle if a MODE_X writer installs a new Collection instance in the catalog. CollectionPtr should be passed by const reference so a yield can notify all the way up.
* SERVER-47812 Secondaries persist wildcard multikeypaths out of orderBernard Gorman2020-09-121-0/+1
|
* SERVER-50317 Const correct uses of CollectionHenrik Edin2020-09-021-10/+10
| | | | | | Most of the code should only need a const Collection now. AutoGetCollection returns a const Collection by default. There is a placeholder getWritableCollection() interface that will handle the necessary steps we need for lock free reads in the future. Added some operators to AutoGetCollection so it behaves more like a smart pointer.
* SERVER-48417 Reconstruct in-memory state when resuming index buildSamy Lanka2020-08-041-2/+4
|
* SERVER-47873 Eliminate the Collection* saved in IndexDescriptorGeert Bosch2020-06-101-17/+11
|
* SERVER-25023 Allow multiple indexes on the same fields with different ↵Bernard Gorman2020-04-251-9/+5
| | | | partial index filters
* SERVER-47416 Eliminate copies of KeyStringSet when possibleHenrik Edin2020-04-141-2/+2
| | | | Also reusing memory for temporary data structure in KeyString generation for arrays.
* SERVER-37637 Standalone nodes should not restart in-progress two-phase index ↵Louis Williams2020-01-311-2/+1
| | | | | | | | | | | builds on startup If a replica set node is started in standalone mode and there are incomplete two-phase index builds, instead of restarting them, we mark the indexes as 'frozen'. This signifies that the indexes are unusable, and will not be rebuilt. The only option available to users is to drop the index. This can corrupt the replica set, but modifying replicated data in standalone mode already poses this danger.
* SERVER-39452 Support rollback via refetch for two-phase index buildsLouis Williams2019-12-161-1/+2
|
* SERVER-41766 Remove obsolete code for tracking multikey writes inside ↵William Schultz2019-08-121-1/+1
| | | | | | multi-document transactions Now that we update the multikey flag within a transaction in a side transaction, the in-memory state about the multikey write will be naturally visible to subsequent writes inside the transaction, so we don't need to keep around any extra structures to enforce this anymore.
* SERVER-42567 Remove magic from CollectionImpl and IndexCatalogImplGeert Bosch2019-08-121-6/+0
|
* SERVER-41721 Make IndexAccessMethod::getKeys output a KeyString setGregory Noma2019-08-081-3/+3
|
* SERVER-41696 Remove the 'ns' field from index specsGregory Wlodarek2019-07-291-2/+0
|
* SERVER-39918 Untangle IndexBuildBlock from IndexCatalogImplGregory Noma2019-07-031-90/+12
|
* SERVER-41695 Remove index namespace stringsGregory Wlodarek2019-06-211-4/+1
|
* SERVER-41819 Move methods from KVCollectionCatalogEntry to KVCatalogXiangyu Yao2019-06-211-2/+1
|
* SERVER-39705 IndexCatalogImpl::_indexKeys() accepts document to be indexedBenety Goh2019-06-141-0/+1
|
* SERVER-40825 In-progress index builds only record the set difference of ↵Gregory Noma2019-06-131-6/+31
| | | | removed and inserted keys on update
* SERVER-39338 Remove `stdx/functional.h`ADAM David Alan Martin2019-06-101-1/+1
|
* SERVER-40887 Removed getAndClearUnfinishedIndexes and relevant codeGabe Villasana2019-06-071-19/+0
|
* SERVER-40926 SERVER-40927 createIndexes cmd requests for indexes that are ↵Dianna2019-05-131-5/+11
| | | | already being built wait for them to complete rather than return OK immediately
* SERVER-40786 Improve error message in IndexCatalog::dropAllIndexes()Gregory Wlodarek2019-04-301-0/+5
|
* SERVER-39323 refactor index spec validation code to make it more modularized ↵Dianna2019-04-221-7/+32
| | | | | | | | | and flexible. - Remove a "$freelist" collection reference, which was removed with MMAPv1 - Modularize a {buildIndexes:false} check that causes a IndexAlreadyExists error to be returned - Split IndexCatalog::removeExistingIndexes into removeExistingIndexes and removeExistingIndexesNoChecks, to be more explicit about the internal behavior.
* SERVER-39517 Fix accidental referenceGeert Bosch2019-04-171-1/+1
|
* SERVER-39517 Only use Collection MODE_X for index creation and dropGeert Bosch2019-04-161-1/+1
|
* SERVER-40357 expand all calls to MONGO_DISALLOW_COPYINGBilly Donahue2019-03-281-1/+2
| | | | | | | | | | | produced by: hits="$(git grep -n MONGO_DISALLOW_COPYING | cut -d: -f1 )" for f in "$hits"; do sed -i.orig ' s/^\( *\)MONGO_DISALLOW_COPYING(\(.*\));/\1\2(const \2\&) = delete;\n\1\2\& operator=(const \2\&) = delete;/; ' $f done
* SERVER-39079 Move BackgroundOperation checks out of the catalog layer; add ↵Dianna Hohensee2019-03-241-0/+10
| | | | parallel IndexBuildsCoordinator checks for all BackgroundOperation checks
* Revert "SERVER-39079 Move BackgroundOperation checks out of the catalog ↵Dianna Hohensee2019-03-121-10/+0
| | | | | | layer; add parallel IndexBuildsCoordinator checks for all BackgroundOperation checks" This reverts commit d02edd5290131978f901ffc657bee3470d03f8fd.
* SERVER-39079 Move BackgroundOperation checks out of the catalog layer; add ↵Dianna Hohensee2019-03-111-0/+10
| | | | parallel IndexBuildsCoordinator checks for all BackgroundOperation checks
* SERVER-39703 Pull opCtx ptr out of the TemporaryKVRecordStore and instead ↵Dianna Hohensee2019-02-211-0/+5
| | | | pass it as a function parameter
* SERVER-38097 Pull opCtx and collection ptrs out of MultiIndexBlock and pass ↵Dianna Hohensee2019-02-191-8/+5
| | | | instead as function parameters
* SERVER-37455 Delete per-collection cursor managers.David Storch2019-01-231-3/+1
|
* SERVER-37270 Remove foreground index builds by defaultLouis Williams2019-01-171-2/+4
|