summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_lookup.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-41065 Make agg evaluate() thread safe by passing 'Variables' as a ↵Arun Banala2019-06-121-1/+1
| | | | parameter
* Revert "SERVER-41065 Make evaluate() thread safe by passing 'Variables' as a ↵Gregory Wlodarek2019-06-111-1/+1
| | | | | | parameter" This reverts commit 17cdb38b6db716dc47485a60ddff3c543e713e3d.
* SERVER-41065 Make evaluate() thread safe by passing 'Variables' as a parameterArun Banala2019-06-111-1/+1
|
* SERVER-39339 Remove `stdx/memory.h`ADAM David Alan Martin2019-06-101-2/+3
|
* SERVER-41294 shard filtering for $sbIan Boros2019-06-071-0/+4
|
* SERVER-40949 add LookupAllowed stage constraintIan Boros2019-05-201-10/+10
| | | | This bans $merge and $sB from $lookup subpipelines
* SERVER-38360 Prevent $out writing to ns read from in the same pipelineCharlie Swanson2019-02-141-48/+34
| | | | | 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-39269 flag gate sharded $lookupIan Boros2019-02-071-0/+7
|
* SERVER-35402 Add validators where applicable in query_knobs.cppArun Banala2019-02-061-1/+1
|
* SERVER-38728 allow pipeline with lookup stage on sharded collection to run ↵Ian Boros2019-01-291-2/+3
| | | | on mongod
* SERVER-38716 fix $geoNear and $text within $lookup sub-pipelineBrigitte Lamarche2019-01-171-1/+6
|
* SERVER-38362 Prevent $out stage within $lookupBrigitte Lamarche2019-01-031-1/+7
|
* SERVER-31755 Create intermediate $lookup stage document size limit knobBrigitte Lamarche2018-12-141-4/+6
|
* SERVER-32308 Support for $lookup to execute on mongos against a sharded ↵James Wahlin2018-12-121-7/+13
| | | | foreign collection
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-8/+10
|
* SERVER-35419 $lookup and $facet must inherit constraints from childrenKyle Suarez2018-09-141-0/+25
| | | | | | | | 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-19260 Log whether allowDiskUse:true aggregations used diskMinji2018-08-011-1/+12
|
* SERVER-35329 Package agg projection code for use outside of agg executionBernard Gorman2018-06-221-2/+2
|
* Revert "SERVER-32308: Add the ability for a $lookup stage to execute on ↵Nick Zolnierz2018-01-161-35/+2
| | | | | | mongos against a sharded foreign collection" This reverts commit 7298d273c0497f2720ec1471ad0f4910bff07af4.
* SERVER-32308: Add the ability for a $lookup stage to execute on mongos ↵Nick Zolnierz2018-01-121-2/+35
| | | | against a sharded foreign collection
* SERVER-32190 Make MongoProcessInterface always availableCharlie Swanson2017-12-191-12/+9
|
* SERVER-31962 Replace Variables::hasUserDefinedValue() with const val chkJames Wahlin2017-11-171-1/+1
|
* SERVER-31842 Restrict $lookup nested sub-pipeline depthJames Wahlin2017-11-071-0/+8
|
* SERVER-31416 Ban $changeStream from $lookup pipelinesBernard Gorman2017-10-101-0/+13
|
* SERVER-29609 Rename MongodInterface to MongoProcessInterface.Charlie Swanson2017-10-031-8/+10
|
* SERVER-30871 Permit blocking aggregation stages to run on mongoS if ↵Bernard Gorman2017-09-271-5/+5
| | | | allowDiskUse is false
* SERVER-30399 Add caching for $lookup non-correlated sub-pipeline prefixBernard Gorman2017-09-241-6/+73
|
* SERVER-30380 $lookup 'let' variables available to all sub-pipelinesJames Wahlin2017-08-081-1/+2
|
* SERVER-29371 DocumentSource classes should provide auth requirementsJames Wahlin2017-07-251-11/+14
|
* SERVER-29371 Add support for lite parse of namespace in nested $lookupJames Wahlin2017-06-221-4/+24
|
* SERVER-29073 Allow variable definition within $lookupJames Wahlin2017-06-051-42/+114
|
* SERVER-28717 Expand $lookup localField when a sub-obj field in an arrayJames Wahlin2017-05-191-22/+32
|
* SERVER-29072 Add support for $lookup into a sub-pipelineJames Wahlin2017-05-191-55/+153
|
* SERVER-27115 extend $match swapping optimization to handle renamed fieldsDavid Storch2017-04-181-1/+1
| | | | | | | | If a field renamed by $project or $addFields is used in a subsequent $match, we can now swap the $match and update it to use the original (or, "renamed from") field name. This allows $match planning to result in better index usage in some cases.
* SERVER-25694 Eliminate race in PlanExecutor cleanup.Charlie Swanson2017-04-131-3/+14
| | | | | | | | | | | 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-27308 Reduce cost of sharding check in DocumentSourceLookupJames Wahlin2017-01-091-2/+0
|
* SERVER-25535 Remove injectExpressionContext().Charlie Swanson2016-12-161-14/+10
| | | | | | | | | | | | | | | 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-1/+1
|
* SERVER-19153 push $match as far forward as possibleDavid Storch2016-10-061-52/+34
|
* SERVER-25038 add LiteParsedPipelineDavid Storch2016-10-031-1/+25
| | | | | | This provides a way to do pre-parse validity checks. Full parsing of the Pipeline must be done under the collection lock, when the collation is known.
* SERVER-24153 Allow pipelines within $facet stage to process in batches.Charlie Swanson2016-09-011-13/+18
| | | | | This approach removes the need to buffer all documents in memory, thus removing concerns about spilling intermediate results to disk.
* SERVER-24769 Add support for $lookup and $graphLookup on a view.Max Hirschhorn2016-08-101-4/+17
|
* SERVER-25005 Use Pipeline to execute $lookup and $graphLookup.Max Hirschhorn2016-08-041-40/+85
| | | | | | | | | | | | Replaces the usages of DBDirectClient::query() in DocumentSourceLookUp and DocumentSourceGraphLookUp to instead parse and execute a Pipeline. Simplifies the registration process of the "inner" plan execution in an aggregation pipeline. The DocumentSourceCursor class now owns its PlanExecutor and the PipelineProxyStage class no longer has a std::weak_ptr to it. The "inner" plan executor is registered with the CursorManager of the underlying Collection and will receive invalidation notifications if a catalog operation occurs.
* SERVER-18966 Add the ability to exclude fields in $project stageCharlie Swanson2016-06-241-13/+12
|
* SERVER-24622 Every DocumentSource should implement detach/reattachToOpCtxCharlie Swanson2016-06-171-1/+1
|
* SERVER-23971 Clang-Format codeMark Benvenuto2016-05-281-27/+32
|
* SERVER-23833 DocumentSourceLookup::getOutputSorts correctly truncates input ↵David Storch2016-05-181-26/+0
| | | | | | sort set. This commit is identical to 44abb8db32a6fad705854793e397961dfc72d09e.
* Revert "SERVER-23833 DocumentSourceLookup::getOutputSorts correctly ↵Dianna Hohensee2016-05-181-0/+26
| | | | | | | | truncates input sort set." This reverts commit 44abb8db32a6fad705854793e397961dfc72d09e. Unit tests QueuedDataStageTest and SortStageTest are failing.