summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/idhack.cpp
AgeCommit message (Collapse)Author
2024-09-06SERVER-92488 Allow {_id: {$eq: <>}} to use IDHACK (#26067)Militsa Sotirova
GitOrigin-RevId: 74a1729a6789c816507cca15518a21988cbdb449
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-09-23SERVER-81059 bulk-revert of include of boost iif.hppBilly Donahue
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-77062 Perform copy-on-write of index catalog entries when cloning a ↵Gregory Wlodarek
collection
2022-07-15SERVER-67471 Improve RecordId usage performanceJordi Olivares Provencio
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`
2022-02-11SERVER-63251 Refactor IndexAccessMethod to support non-SortedData indexesMathias Stearn
2021-06-04SERVER-57127 WorkingSetCommon::fetch() accepts CollectionPtrBenety Goh
2021-06-03SERVER-57127 IndexAccessMethod::findSingle() accepts CollectionPtrBenety Goh
2021-04-21SERVER-55887 remove unowned_ptrBilly Donahue
2021-04-02SERVER-54975 Rename IDL parser classes to use CommandRequest and ↵Bernard Gorman
CommandReply suffixes
2021-02-17SERVER-53060 Remove QueryRequest classRuoxin Xu
2020-11-09SERVER-50838 Unchecked return value for recordCursor restore in IDHack stageEric Cox
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-06-11SERVER-48228 Move slot-based execution engine and supporting changes into ↵Martin Neupauer
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>
2020-06-10SERVER-47873 Eliminate the Collection* saved in IndexDescriptorGeert Bosch
2020-02-28SERVER-45406 Plumb ExpressionContext through PlanStageIan Boros
This patch includes also moves ownership of the collator to the ExpressionContext.
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-09-12SERVER-42981 Make WorkingSetMember compatible for use with the Sorter.David Storch
The bulk of this change is to implement serialization and deserialization routines for WorkingSetMember, so that the Sorter can spill WorkingSetMembers to disk. In addition, this changes the SortExecutor to sort WorkingSetMembers internally as opposed to sorting Documents.
2019-09-05SERVER-42416 Move returnKey execution code to separate PlanStageAnton Korshunov
2019-08-29SERVER-42181 Make WorkingSetMember hold Document instead of BSONObjMartin Neupauer
SERVER-42157 Unowned mode for Document/Value
2019-07-26SERVER-42288 Consolidate Document and WorkingSetMember metadata implementations.David Storch
2019-07-22SERVER-12916 ensure find on _id field obeys min/max.Misha Ivkov
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-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.
2018-11-27SERVER-37448 Make remaining PlanStages check catalog validity on restore.David Storch
Handles COUNT_SCAN, DISTINCT_SCAN, IDHACK, and TEXT_OR.
2018-10-22SERVER-37651 Update header files with new licenseRamon Fernandez
2018-09-21SERVER-36931 Handle returnKey option for $** indexesyarai
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-06-29SERVER-35115 Separate dbclientinterface.h into several parts, one per class.Henrik Edin
2017-08-09SERVER-30353 Create an index observer to notify us of changes made to index ↵Gregory Wlodarek
and document keys
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-07-08SERVER-23924 Make _id index inherit the collection's default collationTess Avitabile
2016-06-03SERVER-24118 Rename LiteParsedQuery to QueryRequest.David Hatch
2016-05-24SERVER-23968 Ban idhack for queries with collationTess Avitabile
2016-03-10SERVER-22359 Move ensureShardVersionOkOrThrow to CollectionShardingStateKaloian Manassiev
This ensures that we will have assertions in place for the correct locks being held.
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-09-03SERVER-2227 Addition of index usage statisticsJames Wahlin
2015-08-04SERVER-19364 move query stage OperationContext pointer management into the ↵Qingyang Chen
base class
2015-07-30SERVER-19355 add skip support to the new find/getMore path in mongosDavid Storch
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.