summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_mock.h
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-41180 Rename 'MergingLogic' to 'DistributedPlanLogic' to avoid ↵Arun Banala2019-05-241-1/+1
| | | | confusion with $merge
* SERVER-40539 Add DocumentSourceQueueCharlie Swanson2019-05-211-37/+22
| | | | | | | This stage is distinguished from the Mock stage in that it doesn't bother tracking state about which methods have been called. The queue version is simpler and is used in production code (namely the update system), whereas the mock is still preferred in testing environments.
* SERVER-40949 add LookupAllowed stage constraintIan Boros2019-05-201-1/+2
| | | | This bans $merge and $sB from $lookup subpipelines
* SERVER-41053 Don't create ServiceContexts while doing updatesIan Boros2019-05-091-6/+14
| | | | This commit also renames DocumentSourceMock::create to DocumentSourceMock::createForTest.
* Revert "SERVER-39403 Implement visitor for DocumentSource as precursor work for"Nick Zolnierz2019-04-111-4/+0
| | | | This reverts commit 1b00abfda7592d701f632b9550f973c56cea818f.
* SERVER-39403 Implement visitor for DocumentSource as precursor work forNick Zolnierz2019-04-101-0/+4
| | | | encryption in agg
* SERVER-40056 Remove partial implementation of streaming $group.David Storch2019-03-111-4/+0
| | | | | | The streaming $group optimization was never fully implemented, so the code was disabled. This patch removes the dead code, including DocumentSource::getOutputSorts().
* 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-38311 Change out merging strategyCharlie Swanson2019-02-131-0/+4
| | | | | Allows an $out stage to run in parallel on all shards if the target collection is sharded and so is the input collection to the aggregate.
* Revert " SERVER-38311 Adjust $out merging strategy"Charlie Swanson2019-01-161-4/+0
| | | | This reverts commit 0cb2195939494660334db8e9d0a52509caeb621c.
* SERVER-38311 Adjust $out merging strategyCharlie Swanson2019-01-161-0/+4
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-21/+23
|
* SERVER-35905 Add logic to detect when $out is eligible for an exchangeCharlie Swanson2018-08-241-0/+7
|
* SERVER-33541 Add readConcern level 'snapshot' support for aggregation.David Storch2018-03-091-1/+2
|
* SERVER-29141 Extend StageConstraints to allow kLocalOnly and kMongos host ↵Bernard Gorman2017-10-041-1/+1
| | | | requirements, given pipeline split state
* SERVER-30871 Permit blocking aggregation stages to run on mongoS if ↵Bernard Gorman2017-09-271-3/+6
| | | | allowDiskUse is false
* SERVER-22760 Sharded aggregation pipelines which involve taking a simple ↵Bernard Gorman2017-08-081-1/+1
| | | | union should merge on mongos
* SERVER-29506 Require $changeNotification to be the first stage.Eddie Louie2017-08-011-2/+8
| | | | This reverts commit babab967892f81f3107903cb41672503de791998.
* Revert "SERVER-29506 Require $changeNotification to be the first stage."Eddie Louie2017-08-011-8/+2
| | | | This reverts commit 2431e1356823d898ef8af16997d6f63b65b385a5.
* SERVER-29506 Require $changeNotification to be the first stage.Charlie Swanson2017-08-011-2/+8
|
* SERVER-19318 Add $currentOp aggregation stage for mongoDBernard Gorman2017-05-261-2/+2
|
* SERVER-25694 Eliminate race in PlanExecutor cleanup.Charlie Swanson2017-04-131-1/+3
| | | | | | | | | | | 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-19758 add support for "executionStats" and "allPlansExecution" to agg ↵David Storch2017-03-131-1/+2
| | | | | | | | | | | | | | | | | explain Like other explainable commands, aggregate can now be explained using the explain command, e.g. db.runCommand({explain: {aggregate: ...}, verbosity: "executionStats"}). The existing explain:true flag corresponds to "queryPlanner" mode and is still supported. However, explain:true cannot be specified when explaining aggregate via the explain command. Additional execution information is provided only in the $cursor section of the aggregation explain output. Having aggregation stages themselves track and report execution info is further work.
* SERVER-25535 Remove injectExpressionContext().Charlie Swanson2016-12-161-4/+0
| | | | | | | | | | | | | | | These methods were formally used to propagate a new ExpressionContext to stages, accumulators, or expressions which potentially needed to comparisons. Originally, this was necessary since Pipeline parsing happened outside of the collection lock and thus could not determine if there was a default collation on the collection. This meant that the collation could change after parsing and any operators that might compare strings would need to know about it. We have since moved parsing within the lock, so the collation can be known at parse time and the ExpressionContext should not change. This patch requires an ExpressionContext at construction time, and disallows changing the collation on an ExpressionContext.
* SERVER-22632 Split up document_source.h into one header per stage.Charlie Swanson2016-10-241-0/+97