summaryrefslogtreecommitdiff
path: root/src/mongo/db/dbhelpers.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-76538 Use acquisitons on internal update pathsJordi Serra Torrens2023-05-091-14/+16
|
* SERVER-75580 Thread-through `ScopedCollectionOrViewAcquisition` on the ↵Jordi Serra Torrens2023-04-251-7/+3
| | | | internal delete code paths
* SERVER-70984 Remove _affectIndices in UpdateDriver in favor of reporting ↵Irina Yatsenko2023-04-211-1/+2
| | | | index impact from updateDocument
* SERVER-73818 Remove CollectionPtr from CollectionCatalog interfaceHenrik Edin2023-02-151-7/+6
| | | | Interfaces instead return 'const Collection*' and if a CollectionPtr is needed it must be created by the user.
* SERVER-73780 Make CollectionPtr constructor explicitHenrik Edin2023-02-131-1/+2
|
* SERVER-65364 Allow fine-grained selection of indexes to updateAlberto Massari2022-12-211-2/+8
|
* SERVER-69237 Make preImage doc available to CollectionUpdateArgsIsrael Hsu2022-11-181-1/+1
|
* SERVER-70044 Thread-through CollectionPtr into the onUpdate OpObserverDaniel Gómez Ferro2022-10-281-1/+3
|
* SERVER-63604 Optimize detection of the need to produce/propagate RecordId ↵Alberto Massari2022-09-301-7/+6
| | | | slots in SBE
* SERVER-69541 Modify Helpers::findById() to accept NamespaceString type ↵Romans Kasperovics2022-09-281-2/+1
| | | | collection name
* SERVER-69102 [CQF] Allow SBE plans which require an output RecordId slotSvilen Mihaylov2022-09-101-9/+7
|
* SERVER-62407 Translate find queries directly to ABTBen Shteinfeld2022-08-251-0/+3
|
* SERVER-67507 Move op_observer files to op_observer directoryShin Yee Tan2022-07-081-1/+1
|
* SERVER-65488 Change OldClientContext ctor to take in NamespaceStringSophia Tan2022-07-061-19/+16
|
* SERVER-66869 Get rid of the multi DB locking capabilityKaloian Manassiev2022-06-201-3/+0
|
* SERVER-66203 move MONGO_LOGV2_DEFAULT_COMPONENT defs below includesBilly Donahue2022-05-061-1/+3
|
* SERVER-64315 Re-enable caching of SBE plans when there is a single query ↵David Storch2022-05-041-15/+7
| | | | | | solution This reverts commit f8589f840c8fee60abc482d2d2c41979e356922a.
* SERVER-62899 Fix coverity defect in dbhelpers.cppHaley Connelly2022-02-151-13/+18
|
* SERVER-63251 Refactor IndexAccessMethod to support non-SortedData indexesMathias Stearn2022-02-111-3/+3
|
* SERVER-61939 Tighter bounds for clustered collection scansDaniel Gómez Ferro2022-02-071-3/+4
|
* SERVER-62828 Allow Helpers::findById to search by clustered indexHaley Connelly2022-01-211-8/+14
|
* SERVER-60238 Implement pre-image propagation to secondaries for ↵Mindaugas Malinauskas2021-11-231-1/+1
| | | | non-transactional writes
* SERVER-58427 Implement pushdown of $group for plans with one solutionYoonsoo Kim2021-09-221-2/+6
|
* SERVER-59164 All write commands on sharded time-series namespace should ↵Arun Banala2021-08-311-2/+19
| | | | translate to buckets namespace, on mongos
* SERVER-56630: Unittest OpObserverImpl::onUpdate for non-transaction calls.Daniel Gottlieb2021-06-221-0/+15
|
* SERVER-57096 Make SBE rely purely on the kExternal lock policyDavid Storch2021-06-151-1/+0
| | | | | | After this patch, the AutoGet db_raii object is no longer held by the SBE scan/ixscan stages. SBE now assumes that any lock/snapshot acquisition is done at a higher level.
* SERVER-57127 IndexAccessMethod::findSingle() accepts CollectionPtrBenety Goh2021-06-031-4/+6
|
* SERVER-55559 StorageInterfaceImpl should use bounded collection scans on ↵Louis Williams2021-04-061-3/+9
| | | | clustered collections
* SERVER-54975 Rename IDL parser classes to use CommandRequest and ↵Bernard Gorman2021-04-021-2/+2
| | | | CommandReply suffixes
* SERVER-55060 Direct modification must remove buckets from the time-series ↵Dan Larkin-York2021-04-021-2/+6
| | | | bucket catalog
* SERVER-53060 Remove QueryRequest classRuoxin Xu2021-02-171-5/+6
|
* SERVER-53435 Make queries run with DBHelpers plus SBE circumvent ↵David Storch2021-01-151-0/+1
| | | | | | | | | | 'checkCanServeReadsFor()' Such queries may be run when a node is neither primary nor secondary, e.g. as part of executing an initial sync. This affects only the SBE engine, since SBE's internal lock policy requires it to have its own calls to 'checkCanServeReadsFor()'.
* SERVER-53122 Create findAndNoopUpdate method in Helpersjannaerin2020-12-021-0/+31
|
* SERVER-52556 Versioned CollectionCatalog. Writes are performed using ↵Henrik Edin2020-11-131-2/+2
| | | | | | | copy-on-write. Internal mutexes when reading CollectionCatalog are removed, just one mutex for writes are needed. Lock-free reads helper AutoGetCollectionForReadLockFree stashes a CollectionCatalog consistent with snapshot on OperationContext
* SERVER-48796 Implement recipientSyncData command in MigrationServiceInstance.Suganthi Mani2020-10-191-12/+11
|
* SERVER-51200 CollectionPtr in RequiresCollectionStage point to instance ↵Henrik Edin2020-10-131-3/+3
| | | | | | | | | | | owned by AutoGetCollection RequiresCollectionStage now holds a pointer to CollectionPtr owned by an AutoGetCollection. When we save and restore the executor a new CollectionPtr pointer needs to be assigned. Plan executors can no longer be created with temporary CollectionPtr instances and their interface have been changed to take pointers to avoid binding to rvalues. RequiresCollectionStage no longer loads collections from the catalog and will be in sync with the owning AutoGetCollection.
* SERVER-50984 Add CollectionPtr to replace usage of const Collection*Henrik Edin2020-09-261-12/+13
| | | | | | | | | | | | 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-48293 change update to upsert to mitigate race condition leading to ↵Vishnu Kaushik2020-09-161-2/+21
| | | | orphaned system.indexBuilds
* SERVER-50317 Const correct uses of CollectionHenrik Edin2020-09-021-3/+3
| | | | | | 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-50217 change auth op observer to handle $v:1 and $v:2 updatesIan Boros2020-08-271-2/+2
| | | | This commit also removes an implicit constructor for write_ops::UpdateModification.
* SERVER-47885 Added lookupCollectionByXXXForRead interface to the Collection ↵Henrik Edin2020-08-071-9/+10
| | | | | | | | | catalog that returns collection as shared_ptr<const Collection> AutoGetCollectionForRead and AutoGetCollectionForReadCommand now uses this and holds the shared_ptr. They return the collection as const. Const correct various places to make this possible. Moved some logic from Collection destructors to deregister from the catalog as they may now be destroyed at a later point.
* SERVER-48228 Move slot-based execution engine and supporting changes into ↵Martin Neupauer2020-06-111-5/+6
| | | | | | | | | | | | | | the master branch This is an initial commit for the slot-based execution engine (SBE) which contains: * Implementation of the core slot-based engine. * The SBE stage builder, which is responsible for translating a QuerySolution tree into an SBE plan. * Other changes necessary for integration with the find command. Co-authored-by: Anton Korshunov <anton.korshunov@mongodb.com> Co-authored-by: Justin Seyster <justin.seyster@mongodb.com> Co-authored-by: David Storch <david.storch@mongodb.com>
* SERVER-43821 Make PlanStage and PlanExecutor return errors by throwingDavid Storch2020-05-291-3/+0
| | | | | | | | This eliminates the need for the FAILURE status codes in PlanStage and PlanExecutor, and brings query execution's error reporting more in line with that of the rest of the server. It also makes it easier for future implementations of PlanExecutor to comply with the interface.
* SERVER-47735 change mongo source over to logv2Billy Donahue2020-04-261-1/+1
| | | | | | - Remove several legacy logger/ files - Convert all MONGO_LOG_DEFAULT_COMPONENT to the LOGV2 version. - Globally replace logger::{LogSeverity,LogComponent} => logv2::
* SERVER-46772 Use IDL to represent UpdateRequestKatherine Wu2020-04-161-2/+4
|
* SERVER-45626: Introduce AutoGetOplog for consistent oplog locking rulesLingzhi Deng2020-03-131-10/+26
|
* SERVER-39071 Implements commit quorum for two phase index builds.Suganthi Mani2020-03-021-2/+10
|
* SERVER-45567 removing util/log.h where I canGabriel Russell2020-02-211-1/+0
| | | | | | | o converting some log lines that were missed o fixing some missing includes create mode 100644 src/mongo/transport/ismaster_metrics.cpp
* SERVER-43859: Take MODE_IX locks for collection creation.Daniel Gottlieb2019-11-261-3/+4
| | | | | | | | | | | | | | | | | Two concurrent storage transactions can now create collections with the same collection name. These transactions will conflict at commit time; the first committer will win and register their collection into the global catalog. The losing transactions will bubble a WriteConflictException. Top-level callers that should fail if the collection already existed must now check and fail with a NamespaceExists error code. Previously, those callers could rely on lower level code returning the NamespaceExists error. Callers that were implicitly creating a collection may retry the operation, using the now-registered collection. These transaction-local collections (UncommittedCollections) are returned when doing any CollectionCatalog::lookup* call.
* SERVER-41496 Remove Database::getCollection() and replace with ↵Evgeni Dobranov2019-09-301-2/+4
| | | | CollectionCatalog::get().lookupCollectionByNamespace()