summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/pipeline_command.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert " SERVER-38311 Adjust $out merging strategy"Charlie Swanson2019-01-161-11/+4
| | | | This reverts commit 0cb2195939494660334db8e9d0a52509caeb621c.
* SERVER-38311 Adjust $out merging strategyCharlie Swanson2019-01-161-4/+11
|
* SERVER-37560 Allow change streams to work with speculative majority readsWilliam Schultz2018-12-211-2/+4
| | | | This patch allows change stream queries to use speculative majority reads so that they can be used even when enableMajorityReadConcern:false. Change stream aggregation commands are allowed to use speculative majority reads as well as 'find' commands that specify a special flag. This commit also enables all change streams tests and suites on the enableMajorityReadConcern:false Evergreen variant. No optimizations for speculative majority change streams are included in this commit.
* SERVER-37560 Add API for allowing commands to support speculative majority readsWilliam Schultz2018-11-141-0/+5
| | | | This patch lays the groundwork for allowing read queries to take advantage of "speculative" majority reads, which is a mechanism for satisfying majority read guarantees without storage engine support for reading from a historical snapshot. This patch adds a flag on the ReadConcernArgs object to indicate whether a query should use the speculative behavior, and it also adds a method to the CommandInvocation interface that allows commands to optionally support speculative majority reads. The intention is to initially only utilize this behavior for change stream queries i.e. 'aggregate' and 'find' commands, but the feature is, in theory, generic.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-21/+23
|
* SERVER-36020 Redesign CursorResponseBuilder to allow usage of DocumentSequenceGregory Noma2018-07-241-4/+3
| | | | Co-authored-by: Anthony Roy <anthony.roy@10gen.com>
* SERVER-35912 Upgraded PipelineCommand and ClusterPipelineCommand to TypedCommandAnthony Roy2018-07-111-51/+71
| | | | | Moved the pipeline commands from BasicCommand to Command in order to gain access to DocumentSequences.
* SERVER-34628 Really remove appendCommandStatusMathias Stearn2018-05-081-7/+3
| | | | | | | | | | All remaining callers are transitioned to some form of usassert. This was done with an elaborate set of vim macros to make this tractable. Therefore it should not be considered an example of the best way to write new code, just as an improvement on what was there before. In particular, I couldn't easily remove Status's that are named then only used once in uassertStatusOK, nor could I convert the pattern of checking a StatusWith<T>'s getStatus() then calling getValue() to just call uassertStatusOK(returnsStatusWith()).
* SERVER-33918: Support $changeStream against all collections in a database ↵Nick Zolnierz2018-03-291-0/+6
| | | | for a replica set only
* SERVER-33065 CommandReplyBuilder and CommandInvocationBilly Donahue2018-03-061-2/+3
| | | | | | Revert "Revert "SERVER-33065 CommandReplyBuilder and CommandInvocation"" This reverts commit 74177edb35b6ce7594e4751051010ceade592484. Leave out the unintentional repl/ change this time.
* Revert "SERVER-33065 CommandReplyBuilder and CommandInvocation"Nick Zolnierz2018-03-051-3/+2
| | | | This reverts commit ad94e51e0dd40b0d0c38215a36caf75a4be48415.
* SERVER-33065 CommandReplyBuilder and CommandInvocationBilly Donahue2018-03-021-2/+3
| | | | | | | | | | | | remove publicRun from mr_test.cpp change explain to take OpMsgRequest private explain private allowsAfterClusterTime private supportsWriteConcern supportsReadConcern remove publicRun cluster_explain_cmd.cpp: do not inject "$db" field. let explain() exceptions escape update cluster distinct explain
* SERVER-33286 Provide service context in Command::secondaryAllowed to allow ↵Henrik Edin2018-02-141-1/+1
| | | | getting interfaces without using global get function.
* SERVER-33136 const-ify the command auth accessorsBilly Donahue2018-02-061-1/+1
|
* SERVER-32958 unrevert "SERVER-32958 slaveOk,slaveOverrideOk replacement"Billy Donahue2018-01-311-6/+2
| | | | | | w/fix: update a new command to secondaryAllowed This reverts commit d75cb425fbc3cf4b569eb1722c3f8abec45654a2.
* Revert "SERVER-32958 slaveOk,slaveOverrideOk replacement"Judah Schvimer2018-01-311-2/+6
| | | | This reverts commit be24b0323d3f2d424d9e22337f4221d39001ac31.
* SERVER-32958 slaveOk,slaveOverrideOk replacementBilly Donahue2018-01-311-6/+2
| | | | declare read_preference dep. update service_entry_opint_embedded
* SERVER-32958 Command::help() returns std::stringBilly Donahue2018-01-301-3/+3
|
* SERVER-32517 Parse readConcern snapshot and atClusterTimeTess Avitabile2018-01-231-3/+5
|
* SERVER-32646 CommandHelpersBilly Donahue2018-01-161-6/+7
|
* SERVER-29987 pass afterClusterTime to all commandsMisha Tyulenev2017-08-151-1/+2
|
* SERVER-29731 get errmsg out of BasicCommand apiMathias Stearn2017-07-131-1/+0
| | | | It is now only used by commands deriving from ErrmsgCommandDeprecated.
* SERVER-29731 convert all direct subclasses of Command to BasicCommandMathias Stearn2017-07-131-2/+2
|
* SERVER-19318 Allow $currentOp aggregations to be run on mongoSBernard Gorman2017-06-161-1/+1
|
* SERVER-29350 Bump featureCompatibilityVersion to 3.6Tess Avitabile2017-06-091-25/+9
|
* SERVER-19318 Add $currentOp aggregation stage for mongoDBernard Gorman2017-05-261-7/+6
|
* SERVER-29260 Make BSONObj argument to Command::run() const&Mathias Stearn2017-05-171-1/+1
|
* SERVER-29249 Remove Command::_webUi member and constructor argumentMathias Stearn2017-05-171-1/+1
|
* SERVER-28814 Attach ServerSelectionMetadata to OpCtx in mongosMathias Stearn2017-05-121-1/+0
| | | | This eliminates the need to pass it in to Command::explain()
* SERVER-28983 Get rid of duplicated code in the aggregation commandKaloian Manassiev2017-05-051-64/+39
|
* SERVER-28983 Fix undefined behaviour for the 'aggregate' commandKaloian Manassiev2017-04-271-9/+2
|
* SERVER-28701 Remove queryOptions argument from Command::run()Mathias Stearn2017-04-121-1/+0
|
* SERVER-19758 add support for "executionStats" and "allPlansExecution" to agg ↵David Storch2017-03-131-499/+40
| | | | | | | | | | | | | | | | | 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-27938 Rename all OperationContext variables to opCtxMaria van Keulen2017-03-071-34/+37
| | | | | | 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-27920 Fix incorrect locking of Client contextGeert Bosch2017-02-061-2/+2
|
* SERVER-27848 Add index hint to aggregation and non-materialized viewsJames Wahlin2017-02-031-1/+1
|
* SERVER-24623 Remove single document aggregation result optionTess Avitabile2017-01-131-20/+3
|
* SERVER-27253 Bump index usage stats during $lookup.Charlie Swanson2016-12-161-6/+0
|
* SERVER-25535 Remove injectExpressionContext().Charlie Swanson2016-12-161-22/+22
| | | | | | | | | | | | | | | 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-24128 reject embedded null bytes in namespace string parsingDavid Storch2016-12-091-7/+2
|
* SERVER-27065 cleanup ClientCursor, ClientCursorPin, and CursorManagerDavid Storch2016-12-021-20/+18
| | | | | | | | | | | - Makes cursors come into existence pinned. This fixes a race condition in which a cursor could time out in between being constructed/retrieved and being pinned. - Reduces the public interface of ClientCursor. In particular, makes ClientCursor's constructor and destructor private. - Cleans up header file comments in order to more clearly indicate expected usage.
* SERVER-25038 add LiteParsedPipelineDavid Storch2016-10-031-40/+23
| | | | | | 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-25969 make slaves and secondaries always use BSON 1.1 validationDavid Storch2016-09-201-2/+2
| | | | | This allows secondaries and slaves to sync NumberDecimal even while in featureCompatibilityVersion:"3.2" mode.
* SERVER-26067 Fix ViewDefinition access outside of lockJames Wahlin2016-09-131-8/+9
|
* SERVER-25742 Disallow per-op collation when featureCompatibilityVersion=3.2Tess Avitabile2016-09-071-0/+24
|
* SERVER-25186 support a default collation for viewsKyle Suarez2016-09-061-0/+58
| | | | | Users may specify a default collation when creating a view. Operations involving a view cannot override the view's default collation.
* SERVER-24991 log redaction for commands, concurrency, exec, indexThomas Schubert2016-09-021-2/+1
|
* SERVER-25738 authz for views for sharded create/collModKyle Suarez2016-08-251-1/+3
| | | | Merges authz checks for create, collMod and aggregate into AuthorizationSession.
* SERVER-25680 Don't check for view if collection existsKyle Suarez2016-08-241-9/+13
|
* SERVER-24771 Use view namespace in cursors for aggregate/getMoreGeert Bosch2016-08-221-36/+54
|