summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/fetch.cpp
AgeCommit message (Collapse)Author
2024-07-16SERVER-91312 Update query spilling metrics per spilling event (#24154)Rui Liu
GitOrigin-RevId: 97352a27e7c80b429cd1f2c5a5baa07cdbf28f02
2024-05-23SERVER-90645 Enable tidy check misc-unused-using-decls (#22430)Matt Kneiser
Co-authored-by: Benety Goh <benety@mongodb.com> GitOrigin-RevId: e97b100882e14cca504952d321cedfb135321240
2023-06-27SERVER-77047 SERVER-77048 IWYU automated changes up to end ratio 0.8Daniel Moody
2023-06-22SERVER-78170 Modify read query stages to accept both CollectionPtr and ↵Jordi Olivares Provencio
ScopedCollectionAcquisition
2023-05-25SERVER-77396 Refactor some of the concurrency exception util methodmathisbessamdb
2023-05-23SERVER-77327: replace verify() with MONGO_verify()Colin Stolley
2023-02-11SERVER-73141 Generate query shape for expressions in expression_leaf.hCharlie Swanson
2022-07-13SERVER-65360 Streamline handlePlanStageYield function signatureJosef Ahmad
2022-07-12SERVER-65360 Handle TemporarilyUnavailableException in query execJosef Ahmad
This change attaches context to the plan executor in order to distinguish a yield request due to a write conflict from one due to a TemporarilyUnavailable error, and to handle the two cases accordingly in the query execution code.
2022-05-10SERVER-66205 Merge `WriteConflictException` and ↵Amirsaman Memaripour
`TemporarilyUnavailableException` into `assert_util.h`
2021-06-04SERVER-57127 WorkingSetCommon::fetch() accepts CollectionPtrBenety Goh
2021-04-21SERVER-55887 remove unowned_ptrBilly Donahue
2020-09-26SERVER-50984 Add CollectionPtr to replace usage of const Collection*Henrik Edin
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.
2020-05-29SERVER-43821 Make PlanStage and PlanExecutor return errors by throwingDavid Storch
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.
2020-02-28SERVER-45406 Plumb ExpressionContext through PlanStageIan Boros
This patch includes also moves ownership of the collator to the ExpressionContext.
2020-02-22SERVER-46290 Skip evaluation of tautoligical MatchExpressionsJustin Seyster
2020-01-17SERVER-40620 uassert and log when fetching dangling index entryJustin Seyster
If a FETCH_STAGE encounters a record id that does not reference any existing documents, that means either the document was deleted since query execution encountered the index entry or their is corruption somewhere. If the snapshot id indicates that the query has not yielded since the time that the index entry was loaded, that leaves corruption as the only possibility. We return and error and write to the log with instructions on how to address potentially inconsistent data. create mode 100644 jstests/noPassthrough/query_yields_catch_index_corruption.js
2019-10-03SERVER-43317 merge failpoint headers. Rewrite docs.Billy Donahue
iterate docs
2019-09-04SERVER-42852 Make PlanStage consistently hold children by unique_ptr.David Storch
2019-06-14SERVER-41071 Replace NULL and 0 with nullptrA. Jesse Jiryu Davis
2019-06-10SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin
2019-04-09SERVER-40476 remove mongoutils::strBilly Donahue
Rename utils/mongoutils/str.h => utils/str.h Rename namespace mongoutils::str => str Rename mongo::strcasecmp => str::caseInsensitiveCompare.
2019-02-13SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue
Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
2019-01-30SERVER-38316 Consolidate PlanExecutor::DEAD and PlanExecutor::FAILUREPawel Terlecki
Replaced PlanStage::DEAD with PlanStage::FAILURE. In the subsequent commit, PlanExecutor::DEAD will be taken care of in the next commit
2018-11-27SERVER-37447 Introduce RequiresIndexStage and use for IXSCAN.David Storch
2018-10-31SERVER-37445 Make FETCH stage check collection validity on restoreState().David Storch
2018-10-22SERVER-37651 Update header files with new licenseRamon Fernandez
2018-09-05SERVER-36156 Delete RecordFetcher.David Storch
2018-08-29SERVER-16857 Delete MMAPv1 diskloc invalidations.David Storch
- Removes of PlanStage::invalidate(). - Removes RecordCursor::invalidate() from the storage API. - Removes CursorManager::invalidateDocument().
2018-05-01SERVER-34725: Group and count plan stages do not set the WorkingSetID output ↵Nick Zolnierz
on PlanStage::DEAD state
2017-07-26SERVER-28752 Get rid of BatchedInsertRequest::getIndexTargetingNSKaloian Manassiev
In preparation for removing the Batched Insert/Update/Delete Request parser classes.
2017-03-07SERVER-27938 Rename all OperationContext variables to opCtxMaria van Keulen
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.
2016-03-14SERVER-22833 Rename MatchExpression::toBSON() to serialize(), and ensure it ↵Benjamin Murphy
produces parseable output.
2016-02-05SERVER-18826 Rename WorkingSet State Names from LOC to RIDJames Wahlin
Also renamed: * WorkingSetMember::hasLoc() -> WorkingSetMember::hasRecordId * WorkingSetMember::loc -> WorkingSetMember::recordId
2016-01-14SERVER-19377 PlanStage: make work() non-virt, add virt method doWork()Jason Rassi
Changes PlanStage::work() to be non-virtual. PlanStage::work() now updates _commonStats and calls new pure virtual method doWork().
2015-10-08SERVER-20111 Plan summary should only include the winning planCharlie Swanson
2015-08-27SERVER-16444 Only make BSONObj underlying WSM owned if not mmapv1.Max Hirschhorn
Resolves the performance regression with mmapv1 introduced by 764e0c4 where documents were being copied in PlanStages that perform invalidations. Partially reverted changes to DeleteStage and UpdateStage because the document to return is not guaranteed to be owned after makeObjOwnedIfNeeded() is called when running with mmapv1.
2015-08-24SERVER-16444 Copy data in the query subsystem as needed.Max Hirschhorn
A WorkingSetMember in the LOC_AND_OBJ state must be made owned when: 1. Its WorkingSetID is cached across multiple calls to work(). 2. Multiple calls to next(), seekExact(), saveState(), etc. are performed on the same WiredTiger cursor in a single work() call. No longer necessary to always copy data out of WiredTiger buffers.
2015-08-04SERVER-19364 move query stage OperationContext pointer management into the ↵Qingyang Chen
base class
2015-07-16SERVER-17364 Don't stash RecoveryUnits across getMoresMathias Stearn
We now tell PlanExecutors to detach from their OperationContexts and to shed all storage engine resources before stashing the ClientCursor. This is a heavier weight operation than a normal save/restoreState which is no longer allowed to change the OperationContext.
2015-07-16SERVER-17364 Unify handling of child stages into PlanStage base classMathias Stearn
This is prep for adding more methods that need to propagate to children.
2015-07-01SERVER-18961 avoid iterating the entire working set when preparing for a ↵David Storch
WiredTiger snapshot change Improves performance for query plans with a blocking stage when using the WiredTiger storage engine. In particular, full text search and geoNear queries should benefit.
2015-06-29SERVER-16889.5 PlanExecutor::getStats() and PlanStage::getStats() return ↵Qingyang Chen
unique_ptr
2015-06-20SERVER-18579: Clang-Format - reformat code, no comment reflowMark Benvenuto
2015-06-10SERVER-17309 Replace std::auto_ptr<T> with std::unique_ptr<T>Andrew Morrow
2015-06-09SERVER-16444 New API for navigating RecordStoresMathias Stearn
2015-06-09SERVER-2454 Improve PlanExecutor::DEAD handlingJames Wahlin
2015-06-08SERVER-17810 remove matchTested specificStatQingyang Chen
Closes #976 Signed-off-by: David Storch <david.storch@10gen.com>
2015-04-17SERVER-17633 add const qualifiers to PlanStage and Explain interfacesDavid Storch
2015-02-16SERVER-17062 rename NEED_FETCH to NEED_YIELDDavid Storch