summaryrefslogtreecommitdiff
path: root/src/mongo/dbtests/query_stage_subplan.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-54975 Rename IDL parser classes to use CommandRequest and ↵Bernard Gorman2021-04-021-9/+9
| | | | CommandReply suffixes
* SERVER-53060 Remove QueryRequest classRuoxin Xu2021-02-171-30/+32
|
* SERVER-51624 Modify query commands to enforce API version 1 behaviourRuoxin Xu2021-01-301-1/+1
|
* SERVER-51619 Convert find command input to IDLArun Banala2021-01-071-1/+3
|
* SERVER-51807 Get point-in-time read timestamp in global lockA. Jesse Jiryu Davis2020-11-121-6/+7
|
* SERVER-51200 CollectionPtr in RequiresCollectionStage point to instance ↵Henrik Edin2020-10-131-7/+9
| | | | | | | | | | | 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-7/+7
| | | | | | | | | | | | 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-7/+7
| | | | | | 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-48228 Move slot-based execution engine and supporting changes into ↵Martin Neupauer2020-06-111-7/+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-1/+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-41060 Change query unit tests to not create multiple service contextsRuoxin Xu2020-03-051-2/+1
|
* SERVER-45406 Plumb ExpressionContext through PlanStageIan Boros2020-02-281-12/+18
| | | | This patch includes also moves ownership of the collator to the ExpressionContext.
* SERVER-41772 Apply clang-format 7.0.1 to the codebaseclang-format-7.0.12019-07-271-2/+1
|
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-9/+9
|
* 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-37449 Make yield recovery throw if Database has been closed and reopened.David Storch2018-12-181-0/+5
|
* SERVER-37449 Add RequiresAllIndicesStage and use for subplanning and ↵David Storch2018-12-101-0/+90
| | | | | | | | multiplanning. These stages hold the collection's list of indices during plan selection, and expect all indices in this list to remain valid until plan selection completes.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-14/+16
|
* SERVER-37442 Write dbtest for subplanning from the plan cache using $** indexBernard Gorman2018-10-111-18/+41
|
* SERVER-35516 Get rid of OldClientWriteContextKaloian Manassiev2018-06-151-8/+8
|
* SERVER-32452 add ability for plan cache entries to be inactiveIan Boros2018-06-141-0/+4
|
* SERVER-32174: Remove old snapshot query optionNick Zolnierz2018-03-161-10/+0
|
* SERVER-32189 Delete dead SubplanStage handling for contained $or queries.David Storch2017-12-131-118/+0
|
* SERVER-30731 MatchExpressionParser::parse() should require an ExpressionContextTess Avitabile2017-09-291-6/+6
|
* SERVER-30410 Ensure executor is saved after tailable cursor time out.Charlie Swanson2017-08-281-460/+485
|
* SERVER-29840 Add allowed features bitmask to MatchExpressionParser::parseTess Avitabile2017-08-251-20/+16
|
* SERVER-25694 Eliminate race in PlanExecutor cleanup.Charlie Swanson2017-04-131-6/+6
| | | | | | | | | | | Ensures that a collection lock is held in at least MODE_IS while deregistering a PlanExecutor from the cursor manager. Introduces new PlanExecutor::dispose() and ClientCursor::dispose() methods that must be called before destruction of those classes, and ensures they are called before destruction. These calls will thread an OperationContext all the way through to DocumentSource::dispose() for each stage in a Pipeline, which will give DocumentSourceCursor a chance to acquire locks and deregister its PlanExecutor if necessary.
* SERVER-27938 Rename all OperationContext variables to opCtxMaria van Keulen2017-03-071-35/+35
| | | | | | 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-24508 BSONObj::ComparatorInterfaceDavid Storch2016-08-181-2/+4
| | | | | | | | | | | BSONObj instances should now be compared via the comparator interface's evaluate() method. This preferred over using BSONObj::woCompare() directly. If the comparison doesn't require any database semantics (e.g. there is no collation), there is a global instance of the SimpleBSONObjComparator which should be used for BSONObj comparisons. If the comparison requires special semantics, then callers must instantiate their own comparator object.
* SERVER-24118 Rename LiteParsedQuery to QueryRequest.David Hatch2016-06-031-22/+21
|
* SERVER-23971 Clang-Format codeMark Benvenuto2016-05-281-1/+2
|
* SERVER-23243 Replace Listener::getElapsedTimeMillis() in scoped_timer.cppWaley Chen2016-05-251-8/+7
|
* Revert "SERVER-23243 Replace Listener::getElapsedTimeMillis() in ↵Waley Chen2016-05-181-7/+8
| | | | | | scoped_timer.cpp" This reverts commit 51ee6f1952addc650b1c719cce51fcf460e6e9e8.
* SERVER-23243 Replace Listener::getElapsedTimeMillis() in scoped_timer.cppWaley Chen2016-05-171-8/+7
|
* SERVER-24045 Refactor CanonicalQuery::canonicalize()Tess Avitabile2016-05-101-14/+24
|
* SERVER-23610 CanonicalQuery should own a CollatorInterfaceTess Avitabile2016-05-051-8/+12
|
* SERVER-23349 make CollatorInterface methods constDavid Storch2016-05-041-3/+3
| | | | Also changes all uses of CollatorInterface* to pointers-to-const.
* SERVER-23243 Replace Listener::getElapsedTimeMillis() in elapsed_tracker.cppWaley Chen2016-05-021-6/+8
|
* Revert "SERVER-23243 Replace Listener::getElapsedTimeMillis() in ↵Waley Chen2016-05-021-8/+6
| | | | | | elapsed_tracker.cpp" This reverts commit da38826985001daff55c7e2f723f73f5263e2dbf.
* SERVER-23243 Replace Listener::getElapsedTimeMillis() in elapsed_tracker.cppWaley Chen2016-05-021-6/+8
|
* SERVER-23608 Make MatchExpressionParser take a CollatorInterface*Tess Avitabile2016-04-261-6/+9
|
* SERVER-23779 Replace direct instantiation of OperationContextImpl with ↵Andy Schwerin2016-04-201-2/+3
| | | | | | | cc().makeOperationContext(). Also, make OperationContextImpl's constructor private so that it can only be constructed via a Client.
* Revert "SERVER-23779 Replace direct instantiation of OperationContextImpl ↵Eric Milkie2016-04-191-3/+2
| | | | | | with cc().makeOperationContext()." This reverts commit 0ab34aa7b9c3c48ea6cf17888620fca455284d35.
* SERVER-23779 Replace direct instantiation of OperationContextImpl with ↵Andy Schwerin2016-04-181-2/+3
| | | | | | | cc().makeOperationContext(). Also, make OperationContextImpl's constructor private so that it can only be constructed via a Client.
* SERVER-21407 explicitly disallow $text/$where extensions during ↵David Storch2015-12-221-9/+19
| | | | MatchExpression parsing
* SERVER-19510 Refactor $text match expression parsingJason Rassi2015-11-121-1/+3
| | | | | | | - Text parsing no longer uses dedicated callback handle; responsibility moved to ExtensionsCallback. - Introduces TextMatchExpressionBase (new base class for existing class TextMatchExpression and new class TextNoOpMatchExpression).
* SERVER-13732 disable subplanning for contained $or queriesDavid Storch2015-09-011-4/+8
|
* SERVER-19835 change SubplanStage to skip creation of a plan cache entry in ↵David Storch2015-08-111-0/+114
| | | | | | | | edge cases Since the SubplanStage does not benefit from the CachedPlanStage's replanning, it should not create a cache entry if there is a plan ranking tie or if zero results are produced during the plan ranking trial period.
* SERVER-19235 CQ::canonicalize() to use NamespaceString rather than std::stringQingyang Chen2015-07-271-17/+14
|