summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/and_hash.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-43821 Make PlanStage and PlanExecutor return errors by throwingDavid Storch2020-05-291-25/+3
| | | | | | | | 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-45406 Plumb ExpressionContext through PlanStageIan Boros2020-02-281-4/+4
| | | | This patch includes also moves ownership of the collator to the ExpressionContext.
* SERVER-42852 Make PlanStage consistently hold children by unique_ptr.David Storch2019-09-041-2/+2
|
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-4/+4
|
* SERVER-40813 remove all -inl.h filesBilly Donahue2019-04-301-1/+1
|
* SERVER-40476 remove mongoutils::strBilly Donahue2019-04-091-2/+2
| | | | | | Rename utils/mongoutils/str.h => utils/str.h Rename namespace mongoutils::str => str Rename mongo::strcasecmp => str::caseInsensitiveCompare.
* 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-3/+3
| | | | | Replaced PlanStage::DEAD with PlanStage::FAILURE. In the subsequent commit, PlanExecutor::DEAD will be taken care of in the next commit
* SERVER-37446 Change PlanStages which don't require a collection to avoid ↵David Storch2018-11-071-7/+2
| | | | | | | keeping a Collection*. In order to prevent COUNT stage from requiring a Collection*, splits fast count into a new RECORD_STORE_FAST_COUNT stage.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-16857 Delete MMAPv1 diskloc invalidations.David Storch2018-08-291-51/+0
| | | | | | - Removes of PlanStage::invalidate(). - Removes RecordCursor::invalidate() from the storage API. - Removes CursorManager::invalidateDocument().
* SERVER-20299 Delete KEEP_MUTATIONS stage.David Storch2018-08-021-23/+14
| | | | | Removes the associated flagForReview() mechanism from WorkingSet.
* SERVER-34725: Group and count plan stages do not set the WorkingSetID output ↵Nick Zolnierz2018-05-011-31/+9
| | | | on PlanStage::DEAD state
* SERVER-27938 Rename all OperationContext variables to opCtxMaria van Keulen2017-03-071-3/+5
| | | | | | 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-23971 Clang-Format codeMark Benvenuto2016-05-281-1/+1
|
* SERVER-18826 Rename WorkingSet State Names from LOC to RIDJames Wahlin2016-02-051-15/+15
| | | | | | Also renamed: * WorkingSetMember::hasLoc() -> WorkingSetMember::hasRecordId * WorkingSetMember::loc -> WorkingSetMember::recordId
* SERVER-19377 PlanStage: make work() non-virt, add virt method doWork()Jason Rassi2016-01-141-21/+3
| | | | | Changes PlanStage::work() to be non-virtual. PlanStage::work() now updates _commonStats and calls new pure virtual method doWork().
* SERVER-20111 Plan summary should only include the winning planCharlie Swanson2015-10-081-1/+1
|
* SERVER-16444 Only make BSONObj underlying WSM owned if not mmapv1.Max Hirschhorn2015-08-271-2/+2
| | | | | | | | | | 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.
* SERVER-16444 Copy data in the query subsystem as needed.Max Hirschhorn2015-08-241-3/+8
| | | | | | | | | | | 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.
* SERVER-19364 move query stage OperationContext pointer management into the ↵Qingyang Chen2015-08-041-4/+7
| | | | base class
* SERVER-17364 Unify handling of child stages into PlanStage base classMathias Stearn2015-07-161-43/+8
| | | | This is prep for adding more methods that need to propagate to children.
* SERVER-18961 avoid iterating the entire working set when preparing for a ↵David Storch2015-07-011-4/+4
| | | | | | | 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.
* SERVER-16889.5 PlanExecutor::getStats() and PlanStage::getStats() return ↵Qingyang Chen2015-06-291-5/+7
| | | | unique_ptr
* SERVER-18579: Clang-Format - reformat code, no comment reflowMark Benvenuto2015-06-201-393/+388
|
* SERVER-18870 remove unused filter from AND_SORTED and AND_HASH stageQingyang Chen2015-06-191-27/+5
|
* SERVER-17309 Replace std::auto_ptr<T> with std::unique_ptr<T>Andrew Morrow2015-06-101-2/+2
|
* SERVER-2454 Remove trailing whitespaceJames Wahlin2015-06-091-1/+1
|
* SERVER-2454 Improve PlanExecutor::DEAD handlingJames Wahlin2015-06-091-6/+7
|
* SERVER-17633 add const qualifiers to PlanStage and Explain interfacesDavid Storch2015-04-171-2/+2
|
* SERVER-17119 relax no-dups invariant in AND_HASH stage to accommodate WTDavid Storch2015-03-301-4/+8
| | | | | Since WT does not issue invalidations, docs will not be removed from the hash table when they are updated.
* SERVER-17062 rename NEED_FETCH to NEED_YIELDDavid Storch2015-02-161-5/+5
|
* SERVER-13256 Add usings and qualifications for names from namespace stdAndrew Morrow2015-01-151-0/+1
|
* SERVER-13679 Replace DiskLoc with RecordId outside of MMAPv1Mathias Stearn2014-11-261-6/+6
| | | | | | | | | | | Operations: sed -i -e 's/\<DiskLoc\>/RecordId/g' sed -i -e 's/\<DiskLocs\>/RecordIds/g' sed -i -e 's/\<minDiskLoc\>/RecordId::min()/g' sed -i -e 's/\<maxDiskLoc\>/RecordId::max()/g' sed -i -e 's/\<getDiskLoc\>/getRecordId/g'' Changes under mmap_v1 were reverted and redone by hand as needed.
* SERVER-15675 PlanStage::invalidate() needs OperationContextJason Rassi2014-11-201-13/+8
| | | | | | | PlanStage::invalidate() is always called by a different thread than the stage's owning thread. The method should use the active OperationContext (the caller's) rather than the stage's OperationContext.
* SERVER-15665 MMAP v1 requests yields during page faults via NEED_FETCHDavid Storch2014-11-041-1/+9
|
* SERVER-15363 fix solaris compileDavid Storch2014-10-021-0/+1
|
* SERVER-15187 Update saved OperationContext in all PlanStagesDavid Percy2014-09-181-0/+1
| | | | | | | | | | | | | | | Every stage that has a field of type OperationContext* should be updating it when ::restoreState(OperationContext*) is called. Otherwise it is retaining a reference to deleted memory. This bug hasn't surfaced before because: 1. the OperationContext used to be stack allocated, so it would have the same address every time 2. mmapv1 doesn't always need to dereference the OperationContext Closes #781 Signed-off-by: Benety Goh <benety@mongodb.com>
* SERVER-13635: OperationContext on read pathsEliot Horowitz2014-08-251-6/+10
|
* SERVER-14633 rename prepareToYield() and recoverFromYield() to saveState() ↵David Storch2014-07-291-4/+4
| | | | | | and restoreState() Also renames PlanExecutor::getStages() to PlanExecutor::getRootStage()
* SERVER-14407 replace Runner with PlanExecutorDavid Storch2014-07-221-2/+2
|
* SERVER-14408 access stats directly from execution stagesDavid Storch2014-07-081-0/+8
|
* SERVER-14097 SERVER-14098 execution-level explain for .find() and .count()David Storch2014-06-271-0/+7
| | | | | | | | The explain implementation for .find() and .count() is feature complete. To use the .find() implementation, set the enableNewExplain setParameter to true. Count operations are explained through the new explain command, e.g. db.runCommand({explain: {count: "coll", query: {foo: "bar"}}}).
* SERVER-14096 explain find() at queryPlanner verbosityDavid Storch2014-06-111-0/+12
| | | | Enable by the setParameter 'enableNewExplain'
* SERVER-13922 remove query yielding cruftHari Khalsa2014-06-031-12/+3
|
* SERVER-13632 Get rid of DiskLoc::obj (Part 1)Kaloian Manassiev2014-04-261-6/+13
| | | | | | DiskLoc::obj references the durability subsystem through thread local variables. With this change the accesses become explicit through the collection.
* SERVER-12868 added getMemUsage to WorkingSetMemberBenety Goh2014-02-271-19/+5
|
* SERVER-12868 added memory usage accounting to hashed AND stageBenety Goh2014-02-271-5/+68
|
* SERVER-12931 add failure status to working set if child stage fails without ↵Benety Goh2014-02-271-0/+30
| | | | providing reason
* SERVER-10026 add memory usage stats to sort and print stats upon errorHari Khalsa2014-02-271-0/+5
|