summaryrefslogtreecommitdiff
path: root/src/mongo/dbtests/query_stage_distinct.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-47885 Added lookupCollectionByXXXForRead interface to the Collection ↵Henrik Edin2020-08-071-3/+3
| | | | | | | | | catalog that returns collection as shared_ptr<const Collection> AutoGetCollectionForRead and AutoGetCollectionForReadCommand now uses this and holds the shared_ptr. They return the collection as const. Const correct various places to make this possible. Moved some logic from Collection destructors to deregister from the catalog as they may now be destroyed at a later point.
* SERVER-47873 Eliminate the Collection* saved in IndexDescriptorGeert Bosch2020-06-101-3/+3
|
* 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-45406 Plumb ExpressionContext through PlanStageIan Boros2020-02-281-4/+6
| | | | This patch includes also moves ownership of the collator to the ExpressionContext.
* SERVER-43367 unittest framework refactor/fixesBilly Donahue2019-10-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Segregate old-style dbtests into their own Suite initialization system: OldStyleSuiteSpecification. This is where the funky deprecated features can live on without interfering with the Suite API. It also gives us a searchable base class to identify them in the future. OldStyleSuite has `setupTests()` and an `add<T>()` that Suite does not have. Suite API can shrink when it doesn't have to support these dbtest adaptor features. Suite only needs non-template `add(name, callback)`. - Add OldStyleSuiteInitializer to some dbtests that were missing it! These didn't use SuiteInstance to register themselves and were incorrect. They would self register, resulting in _allSuites() holding a std::shared_ptr to a static-duration Suite object! - Change `getSuite()` to return `Suite&` instead of `Suite*`. - No more "self-registering" in Suite constructor. Registration must be done as a separate post-construction step. This removes some unusual lifetime management code and is easier to document. Suite::getSuite(name) is the only way to make a Suite, and it does the make_shared and registration calls with a pseudo-private ConstructorEnable idiom. - Suite->run() returns std::unique_ptr<Result> instead of raw `Result*`. It's virtual to support OldStyleSuite behavior. - Suite._ran does nothing. Removed. - Result.cur does nothing. Removed. - Switch to pass-by-value and std::move for most ctor args. - Add explicit on 1-arg ctors. - Get rid of TestHolder. It's just a 2-field struct. - use fmt instead of snprintf - TEST and TEST_F macros: generate TEST_TYPE once. - TEST and TEST_F macros: inline the _agent variable. - Mark _doRun as `override`. - Terminology: replace CASE_NAME with SUITE_NAME. - rename DeathTestImpl -> DeathTestBase - move getDeathTestPattern into the test as a static member function - refactor out some repetition from the comparator decl macros - use if-constexpr and diamond relops to clean up the ComparisonAssertion class. - dbtests: conditionally skip some add<T> calls - further dedup (DEATH_)TEST(_F) macros
* SERVER-42181 Make WorkingSetMember hold Document instead of BSONObjMartin Neupauer2019-08-291-1/+1
| | | | SERVER-42157 Unowned mode for Document/Value
* 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-38091 IndexCatalog iterators and accessors should return const entriesLouis Williams2018-12-191-3/+3
|
* SERVER-37448 Make remaining PlanStages check catalog validity on restore.David Storch2018-11-271-4/+3
| | | | Handles COUNT_SCAN, DISTINCT_SCAN, IDHACK, and TEXT_OR.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-14/+16
|
* SERVER-36517 Allow wildcard indexes to provide DISTINCT_SCANBernard Gorman2018-10-111-15/+11
|
* SERVER-35115 Separate dbclientinterface.h into several parts, one per class.Henrik Edin2018-06-291-1/+1
|
* SERVER-30353 Create an index observer to notify us of changes made to index ↵Gregory Wlodarek2017-08-091-0/+1
| | | | and document keys
* SERVER-22541 Refactor RAII locking helpers.Charlie Swanson2017-03-151-3/+3
| | | | | | | | | Removes the class 'ScopedTransaction' and moves the responsibility of abandoning the snapshot onto the GlobalLock class. Also renames the AutoGetCollectionForRead class to AutoGetCollectionForReadCommand, and adds a new AutoGetCollectionForRead class. Unlike AutoGetCollectionForReadCommand, this new class will not update the namespace on the CurrentOp object, nor will it add an entry to Top.
* SERVER-27938 Rename all OperationContext variables to opCtxMaria van Keulen2017-03-071-13/+13
| | | | | | 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-27306 Remove AutoGetCollection methods with std::string namespaceJames Wahlin2016-12-191-10/+9
|
* SERVER-19507 allow DISTINCT_SCAN over trailing field of an indexAnton Guryanov2016-08-251-0/+71
| | | | | | Closes #1101 Signed-off-by: David Storch <david.storch@10gen.com>
* SERVER-24239 Allow creation of indexes with the same key pattern.David Hatch2016-07-281-3/+10
|
* SERVER-23779 Replace direct instantiation of OperationContextImpl with ↵Andy Schwerin2016-04-201-2/+5
| | | | | | | 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-5/+2
| | | | | | with cc().makeOperationContext()." This reverts commit 0ab34aa7b9c3c48ea6cf17888620fca455284d35.
* SERVER-23779 Replace direct instantiation of OperationContextImpl with ↵Andy Schwerin2016-04-181-2/+5
| | | | | | | cc().makeOperationContext(). Also, make OperationContextImpl's constructor private so that it can only be constructed via a Client.
* SERVER-18579: Clang-Format - reformat code, no comment reflowMark Benvenuto2015-06-201-178/+179
|
* SERVER-17758 Move AutoGet* and Client::*Context to their own file.Andy Schwerin2015-03-271-1/+2
| | | | | The new file is mongo/db/db_raii.h. Also, Client::Context is now OldClientContext and Client::WriteContext is OldClientWriteContext.
* SERVER-16632: use KeyString for WiredTiger index keysEliot Horowitz2014-12-311-1/+1
|
* SERVER-13679 Replace DiskLoc with RecordId outside of MMAPv1Mathias Stearn2014-11-261-1/+1
| | | | | | | | | | | 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-15882 Get rid of ensureIndex in dbtests.Andy Schwerin2014-11-051-1/+1
|
* SERVER-15707 Fix leaks in C++ unit test frameworkAndrew Morrow2014-10-271-1/+3
|
* SERVER-14668/SERVER-15294 Collection-level locking for all read pathsKaloian Manassiev2014-10-061-10/+6
|
* SERVER-13951 Clean up WUOWs in a few dbtestsMathias Stearn2014-10-011-6/+0
|
* Don't leak query trees in distinct dbtestMathias Stearn2014-10-011-6/+6
|
* SERVER-14668 split dbdirectclient out of instance.cppHari Khalsa2014-09-111-1/+1
|
* SERVER-13635: OperationContext on read pathsEliot Horowitz2014-08-251-2/+2
|
* SERVER-14387 Propogate OperationContext through calls requiring document ↵Craig Harris2014-07-081-3/+3
| | | | read locks, without doing the locking.
* SERVER-14085: Start using WriteUnitOfWorkGeert Bosch2014-07-011-0/+3
|
* SERVER-13961 Add OperationContext argument to Client::ContextKaloian Manassiev2014-07-011-1/+3
| | | | | | | Time tracking and database access in Client::Context require access to the OperationContext. Adding it as argument. This is in preparation for removing LockState from Client.
* Revert "SERVER-13961 Add OperationContext argument to Client::Context"Tyler Brock2014-06-301-3/+1
| | | | This reverts commit e1f5a39b1b625d04752be13f39c774e579b64cd8.
* SERVER-13961 Add OperationContext argument to Client::ContextKaloian Manassiev2014-06-281-1/+3
| | | | | | | Time tracking and database access in Client::Context require access to the OperationContext. Adding it as argument. This is in preparation for removing LockState from Client.
* Revert "SERVER-13961 Add OperationContext argument to Client::Context"Kaloian Manassiev2014-06-281-3/+1
| | | | This reverts commit 52edab726185cbba1401cb46de221fb3d1cb0408.
* SERVER-13961 Add OperationContext argument to Client::ContextKaloian Manassiev2014-06-271-1/+3
| | | | | | | Time tracking and database access in Client::Context require access to the OperationContext. Adding it as argument. This is in preparation for removing LockState from Client.
* SERVER-13641 Plumb OperationContext through to getCollection and all HelpersMathias Stearn2014-05-301-1/+1
|
* SERVER-13961 Pass LockState to DBWrite and DBRead directlyKaloian Manassiev2014-05-301-8/+11
| | | | | This is part of the changes to move LockState be part of OperationContext and not retrieved from TLS.
* Revert "SERVER-13961 Pass LockState to DBWrite and DBRead directly"Kaloian Manassiev2014-05-281-11/+8
| | | | This reverts commit 0672061deb58aac931912bed68d014247c581968.
* SERVER-13961 Pass LockState to DBWrite and DBRead directlyKaloian Manassiev2014-05-281-8/+11
| | | | | This is part of the changes to move LockState be part of OperationContext and not retrieved from TLS.
* SERVER-12640 support distinct on array element. fixed multi-key supportBenety Goh2014-02-131-3/+92
|
* SERVER-2094 fast distinct when field is indexed and query is fully coveredHari Khalsa2014-01-231-0/+153