summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/pipeline.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-40429 Add merge stage to write output to existing collectionAnton Korshunov2019-05-021-10/+10
|
* SERVER-40476 remove mongoutils::strBilly Donahue2019-04-091-1/+1
| | | | | | Rename utils/mongoutils/str.h => utils/str.h Rename namespace mongoutils::str => str Rename mongo::strcasecmp => str::caseInsensitiveCompare.
* SERVER-38360 Prevent $out writing to ns read from in the same pipelineCharlie Swanson2019-02-141-5/+23
| | | | | This restriction only applies to $out with modes "insertDocuments" and "replaceDocuments".
* 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-2/+1
| | | | | 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-1/+2
| | | | This reverts commit 0cb2195939494660334db8e9d0a52509caeb621c.
* SERVER-38311 Adjust $out merging strategyCharlie Swanson2019-01-161-2/+1
|
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-21/+23
|
* SERVER-36911: Ensure that cluster aggregations that fail clean up cursorsNick Zolnierz2018-10-041-0/+4
|
* SERVER-37297 Move aggregation pipeline stages that require sharding out of ↵Henrik Edin2018-10-031-1/+0
| | | | the pipeline lib.
* SERVER-37100 add context to agg pre-evaluation errorsRobert Guo2018-10-021-9/+14
|
* SERVER-35419 $lookup and $facet must inherit constraints from childrenKyle Suarez2018-09-141-6/+6
| | | | | | | | By default, $lookup and $facet do not write persistent data and are allowed in a transaction. However, both stages must inherit the "strictest" disk use requirement of any stage in their sub-pipelines, and can only be used in a transaction if each of those pipelines contain only transaction-compatible stages.
* SERVER-35905 Add logic to detect when $out is eligible for an exchangeCharlie Swanson2018-08-241-0/+42
|
* SERVER-33323 Refactor agg cursor merging on mongosCharlie Swanson2018-08-151-22/+3
| | | | | | | | | | This commit makes it so that aggregations will always use a $mergeCursors as a wrapper around a AsyncResultsMerger, which is new behavior for mongos. As part of this refactor, we can delete the concept of a 'merging presorted' $sort stage (which is now handled by the AsyncResultsMerger) and delete the DocumentSourceRouterAdapter stage which talked to a RouterStageMerge, instead directly using a $mergeCursors stage.
* SERVER-19260 Log whether allowDiskUse:true aggregations used diskMinji2018-08-011-0/+5
|
* SERVER-35891 add failpoints to disable aggregation optimizationsVarun Arora2018-07-251-0/+13
|
* SERVER-35388 Improve misleading error messages for operations banned in ↵Samy Lanka2018-06-251-1/+1
| | | | transactions
* SERVER-35329 Package agg projection code for use outside of agg executionBernard Gorman2018-06-221-4/+4
|
* SERVER-34113 Remove all support for snapshot reads outside multi-document ↵Xiangyu Yao2018-06-191-3/+2
| | | | transactions
* SERVER-35043, SERVER-22949: move geoNear implementation into aggregationKyle Suarez2018-06-181-9/+10
| | | | | | | | | | This commit removes the geoNear command and moves its implementation into the aggregation framework. Users should use the aggregate command with a $geoNear stage. The implementation rewrite additionally removes the limit in the $geoNear aggregation stage. To limit the number of results, use a $limit stage.
* SERVER-25596 Rename SplittableDocumentSource to NeedsMergerDocumentSourceKevinCybura2018-05-111-1/+1
| | | | | | Closes #1237 Signed-off-by: Charlie Swanson <charlie.swanson@mongodb.com>
* SERVER-34695: Move aggregation retry logic to command processing layerNick Zolnierz2018-05-011-26/+0
|
* SERVER-33323 Fix pushBack, remove const from size_t, and fix s390xCharlie Swanson2018-04-051-1/+3
| | | | | | | | | | Check if the pipeline is empty before setting the new stage to point to the last one in Pipeline::pushBack(). Remove unnecessary const qualifier from std::size_t return types. Work around a compiler bug on s390x by allowing a CursorResponse to be copied.
* SERVER-33323 Use the IDL to serialize the ARMCharlie Swanson2018-04-051-94/+34
|
* Revert "SERVER-33323 Use the IDL to serialize the ARM"William Schultz2018-04-051-34/+94
| | | | This reverts commit 7d09f278a2acf9791b36927d6af1d30347d60391.
* SERVER-33323 Use the IDL to serialize the ARMCharlie Swanson2018-04-041-94/+34
|
* SERVER-33551 Switch Pipeline to use session interface to determine if in a ↵Matthew Russotto2018-03-191-4/+1
| | | | transaction or snapshot read.
* SERVER-33541 Add readConcern level 'snapshot' support for aggregation.David Storch2018-03-091-15/+24
|
* SERVER-24978 Use AsyncResultsMerger in $mergeCursorsCharlie Swanson2018-03-061-1/+1
|
* SERVER-32617 Fix code that reconstructs status with just code and stringMathias Stearn2018-01-171-4/+3
|
* SERVER-32190 Make MongoProcessInterface always availableCharlie Swanson2017-12-191-12/+14
|
* SERVER-31689 Allow $facet to merge on mongoS if all its pipelines are eligibleBernard Gorman2017-12-141-0/+8
|
* SERVER-31763 $changeStream on sharded collections must always split on ↵Bernard Gorman2017-11-091-1/+8
| | | | mongoS even if targeting a single shard
* SERVER-29137 Implement $changeStream whitelistBernard Gorman2017-10-101-5/+17
|
* SERVER-29141 Enable change streams on sharded collectionsCharlie Swanson2017-10-091-7/+14
|
* SERVER-29141 Extend StageConstraints to allow kLocalOnly and kMongos host ↵Bernard Gorman2017-10-041-31/+98
| | | | requirements, given pipeline split state
* SERVER-30871 Permit blocking aggregation stages to run on mongoS if ↵Bernard Gorman2017-09-271-6/+24
| | | | allowDiskUse is false
* SERVER-30399 Add caching for $lookup non-correlated sub-pipeline prefixBernard Gorman2017-09-241-6/+24
|
* SERVER-30166 Support pipelines running on mongos onlySara Golemon2017-09-151-0/+6
|
* SERVER-30704 Use ARM to merge agg cursors on mongos.Charlie Swanson2017-09-011-5/+17
|
* SERVER-30412 Ensure that aggregation splitpoints are not shared between ↵Bernard Gorman2017-09-011-2/+4
| | | | shard and merge pipelines on mongoS
* SERVER-30580 No more status locationsMathias Stearn2017-08-161-35/+33
|
* SERVER-22760 Sharded aggregation pipelines which involve taking a simple ↵Bernard Gorman2017-08-081-8/+15
| | | | union should merge on mongos
* SERVER-18940 Optimise sharded aggregations that are targeted to a single shardBernard Gorman2017-08-021-0/+32
|
* SERVER-29506 Require $changeNotification to be the first stage.Eddie Louie2017-08-011-17/+36
| | | | This reverts commit babab967892f81f3107903cb41672503de791998.
* Revert "SERVER-29506 Require $changeNotification to be the first stage."Eddie Louie2017-08-011-36/+17
| | | | This reverts commit 2431e1356823d898ef8af16997d6f63b65b385a5.
* SERVER-29506 Require $changeNotification to be the first stage.Charlie Swanson2017-08-011-17/+36
|
* SERVER-19318 Do not validate $facet subpipelines against top-level pipeline ↵Bernard Gorman2017-06-171-16/+53
| | | | namespace
* SERVER-19318 Add $currentOp aggregation stage for mongoDBernard Gorman2017-05-261-4/+35
|
* SERVER-25694 Eliminate race in PlanExecutor cleanup.Charlie Swanson2017-04-131-8/+49
| | | | | | | | | | | 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.