summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/delete.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-61962 Rename `db/exec/delete.h/.cpp` to `delete_stage.h/.cpp`Kaloian Manassiev2021-12-131-297/+0
|
* SERVER-59832 Prevent writes to orphan documentsAntonio Fuschetto2021-12-101-0/+18
|
* SERVER-59782 migrate makeGuard calls to ScopeGuardBilly Donahue2021-09-081-1/+1
|
* SERVER-59174 Report number of documents updated/deleted for time-series ↵Gregory Noma2021-08-211-1/+1
| | | | updates/deletes
* SERVER-51420 Optimize delete to only read document onceBrian DeLeonardis2020-11-061-8/+11
|
* SERVER-51200 CollectionPtr in RequiresCollectionStage point to instance ↵Henrik Edin2020-10-131-1/+1
| | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | 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-50317 Const correct uses of CollectionHenrik Edin2020-09-021-1/+1
| | | | | | 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-48477 move CRUD interface into PlanExecutorDavid Storch2020-08-311-34/+1
| | | | | | This allows classic PlanStages to be removed from the PlanExecutor interface. It also positions the code base well for adding SBE support for all of the CRUD commands.
* SERVER-43821 Make PlanStage and PlanExecutor return errors by throwingDavid Storch2020-05-291-7/+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-45406 Plumb ExpressionContext through PlanStageIan Boros2020-02-281-7/+7
| | | | This patch includes also moves ownership of the collator to the ExpressionContext.
* 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-42979 Implement WorkingSet::extract() and WorkingSet::emplace().David Storch2019-09-131-1/+0
| | | | | | | | Also replaces WorkingSetMember::isSuspicious with a scheme that associates a snapshot id with every index key. This is needed because extracted WorkingSetMembers are not discoverable from the WorkingSet, and thus cannot be marked as suspicious in preparation for yield.
* SERVER-42181 Make WorkingSetMember hold Document instead of BSONObjMartin Neupauer2019-08-291-3/+2
| | | | SERVER-42157 Unowned mode for Document/Value
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-4/+4
|
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-1/+0
| | | | | | Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
* SERVER-38316 Consolidate PlanExecutor::DEAD and PlanExecutor::FAILUREPawel Terlecki2019-01-301-1/+0
| | | | | Replaced PlanStage::DEAD with PlanStage::FAILURE. In the subsequent commit, PlanExecutor::DEAD will be taken care of in the next commit
* SERVER-38695 Make QuerySolutionNode subclasses for projection fast-pathsJacob Evans2019-01-291-10/+15
|
* SERVER-38179 range deleter must be prepared for document to be deleted from ↵Randolph Tan2019-01-111-18/+22
| | | | under it
* SERVER-30711: scope_guard rewrite, to avoid -Werror=noexcept-typeBilly Donahue2019-01-111-5/+5
| | | | | | | | Macro ON_BLOCK_EXIT(...) now takes a single callable, Some renames: Dismias -> dismiss MakeGuard => makeGuard
* SERVER-37447 Introduce RequiresIndexStage and use for IXSCAN.David Storch2018-11-271-1/+1
|
* SERVER-37446 Make UPDATE and DELETE inherit from RequiresMutableCollectionStage.David Storch2018-11-121-23/+32
| | | | | Also deletes UpdateLifecyle, which was used as part of the UpdateStage's yield recovery, but is no longer necessary.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-16857 Delete MMAPv1 diskloc invalidations.David Storch2018-08-291-5/+1
| | | | | | - Removes of PlanStage::invalidate(). - Removes RecordCursor::invalidate() from the storage API. - Removes CursorManager::invalidateDocument().
* SERVER-34725: Group and count plan stages do not set the WorkingSetID output ↵Nick Zolnierz2018-05-011-8/+3
| | | | on PlanStage::DEAD state
* SERVER-29519 Remove getGlobalReplicationCoordinator. Replace when getting ↵Nick Zolnierz2018-03-021-1/+1
| | | | | | decoration through service context (global if needed). This reverts commit a8fddd07a740e959646995ef93139887b3b3eb5c.
* Revert "SERVER-29519 Remove getGlobalReplicationCoordinator. Replace when ↵Nick Zolnierz2018-03-021-1/+1
| | | | | | getting decoration through service context (global if needed)." This reverts commit 7d37a75df3f6035a7afcb51123b88f0e99308fc8.
* SERVER-29519 Remove getGlobalReplicationCoordinator. Replace when getting ↵Henrik Edin2018-03-021-1/+1
| | | | decoration through service context (global if needed).
* SERVER-29519 Removed many usages of getGlobalReplicationCoordinatorHenrik Edin2018-01-221-1/+1
|
* SERVER-14601 Use proper error codes for NotMaster errorsSpencer T Brody2017-10-261-1/+1
|
* SERVER-30407 Store pre/post-image documents when running findAndModify with ↵Randolph Tan2017-08-171-2/+8
| | | | txnNumber
* SERVER-28752 Get rid of BatchedInsertRequest::getIndexTargetingNSKaloian Manassiev2017-07-261-4/+4
| | | | In preparation for removing the Batched Insert/Update/Delete Request parser classes.
* SERVER-28912 Thread stmtId from update and delete requests to oplogRandolph Tan2017-07-211-1/+2
|
* SERVER-27938 Rename all OperationContext variables to opCtxMaria van Keulen2017-03-071-2/+2
| | | | | | This commit is an automated rename of all whole word instances of txn, _txn, and txnPtr to opCtx, _opCtx, and opCtxPtr, respectively in all .cpp and .h files in src/mongo.
* SERVER-27914 Verify canAcceptWritesForDatabase() is called while the caller ↵Matthew Russotto2017-03-061-1/+1
| | | | | | holds the global lock This reverts commit 3e5314c3f2be49666ca5d7aa766c934ba7d6cbe9.
* Revert "SERVER-26965 Use RAII type for turning off replicated writes."Matthew Russotto2017-03-061-1/+1
| | | | This reverts commit befb3ab22daa1f6e0db54af4caa426cfca1b7cd2.
* SERVER-26965 Use RAII type for turning off replicated writes.Matthew Russotto2017-03-061-1/+1
|
* SERVER-23971 Clang-Format codeMark Benvenuto2016-05-281-1/+1
|
* SERVER-23271 Add keysInserted and keysDeleted metrics for CRUD opsJames Wahlin2016-04-211-1/+2
|
* Revert "SERVER-23271 Add keysInserted and keysDeleted metrics for CRUD ops"Benety Goh2016-04-211-2/+1
| | | | This reverts commit 6bbaee174447ee1c9177c72bdd07f050ab07e901.
* SERVER-23271 Add keysInserted and keysDeleted metrics for CRUD opsJames Wahlin2016-04-211-1/+2
|
* SERVER-22178 Move calls that cannot throw out of try/catch block.Charlie Swanson2016-03-251-1/+1
| | | | | | WorkingSetCommon::prepareForSnapshotChange shouldn't ever throw an exception, so it should be removed from the try/catch blocks in the delete and update stages.
* SERVER-22178 Always retry sorted findAndModify upon write conflict.Charlie Swanson2016-03-251-56/+69
| | | | | | | | | Previously, if there was a WriteConflictException while actually doing the update or delete, we would retry the findAndModify, but if the update or delete stage detected that the document was already deleted or that it no longer matched the predicate, it would not retry. This patch ensures the findAndModify will be retried in either of those scenarios.
* SERVER-22793 clear buffered WorkingSetIDs on storage engines without ↵David Storch2016-02-241-5/+1
| | | | | | | document-level concurrency This ensures that the set of WorkingSetIDs does not grow without bound on MMAPv1.
* SERVER-22531 use uassert instead of massert when stepping down during multi ↵Eric Milkie2016-02-091-1/+1
| | | | delete.
* SERVER-18826 Rename WorkingSet State Names from LOC to RIDJames Wahlin2016-02-051-6/+6
| | | | | | Also renamed: * WorkingSetMember::hasLoc() -> WorkingSetMember::hasRecordId * WorkingSetMember::loc -> WorkingSetMember::recordId
* SERVER-16097 invariant(_collection) in DeleteStage::doRestoreState().Max Hirschhorn2016-02-041-0/+1
| | | | A plan stage should only yield if the collection exists.
* SERVER-22002 Do not retry findAndModify on MMAPv1Charlie Swanson2016-01-211-10/+0
|
* SERVER-19377 PlanStage: make work() non-virt, add virt method doWork()Jason Rassi2016-01-141-16/+1
| | | | | Changes PlanStage::work() to be non-virtual. PlanStage::work() now updates _commonStats and calls new pure virtual method doWork().