Jacob Evans
ea0e6b047c
SERVER-41200 Change syntax from $out to $merge for tests in other directories
2019-05-21 10:55:01 -04:00
Nick Zolnierz
3c0a976f70
SERVER-41201 Add replacements for more $out helpers
2019-05-20 17:07:14 -04:00
Anton Korshunov
57c127b904
SERVER-40439 Add merge support for whenNotMatched: discard
2019-05-17 21:37:17 +01:00
A. Jesse Jiryu Davis
0ed0b97e6f
SERVER-41181 Fix sharding tests for hostname normalization
2019-05-17 16:28:27 -04:00
James Wahlin
17fe1b7109
SERVER-40240 Add new $unset aggregation stage
2019-05-17 11:16:24 -04:00
Charlie Swanson
01d37d3ce4
SERVER-41201 Rename test to reflect new coverage
2019-05-17 10:42:10 -04:00
Charlie Swanson
66e7df65d0
SERVER-41201 Add replacement for "withEachOutMode"
2019-05-17 10:36:51 -04:00
Charlie Swanson
dfedea7a2a
SERVER-40239 New alias: $replaceWith => $replaceRoot
2019-05-15 12:17:39 -04:00
Anton Korshunov
089dd83af4
SERVER-40438 Add merge support for whenNotMatched: fail
2019-05-14 23:19:33 +01:00
Anton Korshunov
dde091c079
SERVER-40431 Add merge support for whenMatched: pipeline
2019-05-13 21:40:17 +01:00
Anton Korshunov
a25226e009
SERVER-40440 Add merge support for whenMatched: 'keepExisting'
2019-05-06 21:20:41 +01:00
Ian Boros
b1a9c9adea
SERVER-40465 $group will not distinct scan multikey index
2019-05-03 15:00:35 -04:00
Anton Korshunov
634bf7b2e7
SERVER-40430 Add merge support for whenMatched: merge
2019-05-03 08:51:37 +01:00
Anton Korshunov
fc6c65c0d4
SERVER-40429 Add merge stage to write output to existing collection
2019-05-02 17:03:31 +01:00
Arun Banala
7ea3f16dc5
SERVER-40584 Regex agg expressions should not inherit from ExpressionFixedArity
2019-04-30 11:13:19 +01:00
Arun Banala
7e700f6668
SERVER-40083 Don't recompile each time $regex is evaluated when regex argument is a constant
2019-04-26 15:19:48 +01:00
Ian Boros
03a6b3f910
Revert "SERVER-40083 Don't recompile each time $regex is evaluated when regex argument is a constant"
...
This reverts commit a60f6a5373 .
2019-04-23 12:56:00 -04:00
Arun Banala
a60f6a5373
SERVER-40083 Don't recompile each time $regex is evaluated when regex argument is a constant
2019-04-23 11:20:42 +01:00
Anton Korshunov
d47bbc343a
SERVER-24860 Optimize away entire pipeline if it can be answered using a query
2019-04-03 12:19:22 +01:00
Arun Banala
1d8ddd2d2d
SERVER-40343 Better handling of errors from PCRE in $regex expressions
2019-04-01 15:44:19 +01:00
Justin Seyster
e73da48e26
SERVER-40089 $group optimized with DISTINCT_SCAN cannot use $$ROOT
...
The getExecutorDistinct() function is responsible for both creating an
executor for the distinct command and creating an executor for a
$group that has been optimized with a DISTINCT_SCAN (see commit
da63195 ). These two scenarios have different requirements for their
projection, and getExecutorDistinct() distinguished the two by
assuming any caller with an empty ({}) projection wanted the distinct
command projection.
However, a $first accumulator with $$ROOT requires the entire
document, so the logic that builds an optimized $group executor
generates an empty projection for this case as well. When that
happens, getExecutorDistinct() mistakenly chooses the projection that
the distinct command wants, and when the pipeline evaluates $$ROOT, it
only gets to see a small subset of fields in the document.
This patch modifies getExecutorDistinct() so that the caller must
explicitly state what projection it wants. That means that the
distinct command no longer passes an empty projection to indicate that
it wants to project on just the distinct field. Instead, the distinct
command computes the projection for the distinct field on its own and
includes that projection in the ParsedDistinct object that it passes
to getExecutorDistinct().
2019-03-28 17:17:27 -04:00
Arun Banala
6b3f5310fd
SERVER-37848 Test $regex agg expressions with regex that meets and exceeds the capture limit
2019-03-27 19:00:25 +00:00
Arun Banala
b72e0f72f9
SERVER-39694 Implement $regexMatch as syntactic sugar on top of $regexFind
2019-03-20 18:42:33 +00:00
Arun Banala
12a560bff2
SERVER-39696 Implement $regexFindAll
2019-03-20 15:09:26 +00:00
Arun Banala
6907444c11
SERVER-39695 Implement $regexFind
2019-03-13 12:33:22 +00:00
Anton Korshunov
330c59b671
SERVER-39788 Large values in $skip and $limit stages may cause an arithmetic overflow
2019-03-13 06:50:28 +00:00
Max Hirschhorn
9ad8d6335f
SERVER-40076 Tag JS tests with reason they're unable to run in Atlas.
...
There are likely more JavaScript tests which have been added since
r3.6.9 that still need to be tagged.
(cherry picked from commit 05ec08fa62 )
2019-03-11 18:17:29 -04:00
Charlie Swanson
56efcffbcb
SERVER-37047 Split up testshard1.js
...
Splits some assertions about explain out of the test to fix some build
failures. Also renames the test and moves it to the sharding suite and
cleans up some old TODOs and makeshift passthroughs.
2019-03-04 15:41:23 -05:00
Patrick Meredith
814b1f8237
SERVER-15926: Implement $round function and allow a precision argument for $trunc
...
Closes #1297
Signed-off-by: Charlie Swanson <charlie.swanson@mongodb.com >
2019-02-14 17:54:56 -05:00
Charlie Swanson
f1da8170c1
SERVER-38360 Prevent $out writing to ns read from in the same pipeline
...
This restriction only applies to $out with modes "insertDocuments" and
"replaceDocuments".
2019-02-14 16:54:47 -05:00
Charlie Swanson
87194fbe0c
SERVER-38311 Change out merging strategy
...
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.
2019-02-13 07:30:10 -05:00
Ian Boros
c3f2bef808
SERVER-39269 flag gate sharded $lookup
2019-02-07 18:41:36 -05:00
Martin Neupauer
a257327cc3
SERVER-32666 Allow $graphLookup against a sharded collection to execute on mongos
2019-01-30 17:57:26 -05:00
Jacob Evans
41557fac17
SERVER-38695 Make QuerySolutionNode subclasses for projection fast-paths
2019-01-29 13:53:10 -05:00
Ian Boros
edbc3311fb
SERVER-39109 fix case where agg uses illegal field path
2019-01-23 13:15:34 -05:00
James Wahlin
dfd854a688
SERVER-38688 Abandon $lookup cache when not local
2019-01-22 16:47:58 -05:00
Brigitte Lamarche
21e65b332e
SERVER-38716 fix $geoNear and $text within $lookup sub-pipeline
2019-01-17 15:31:55 -05:00
Charlie Swanson
97821dfa13
Revert " SERVER-38311 Adjust $out merging strategy"
...
This reverts commit 0cb2195939 .
2019-01-16 20:15:37 -05:00
Charlie Swanson
0cb2195939
SERVER-38311 Adjust $out merging strategy
2019-01-16 10:09:59 -05:00
Brigitte Lamarche
bb9114dc71
SERVER-38362 Prevent $out stage within $lookup
2019-01-03 15:13:57 -05:00
Patrick Meredith
43cd5d0e35
SERVER-32930 Add trigonometric expressions to aggregation
...
Closes #1287
Signed-off-by: Charlie Swanson <charlie.swanson@mongodb.com >
2018-12-22 21:20:56 -05:00
Henrik Edin
6b641e8665
SERVER-38249 Implement stdx unordered_map and unordered_set as absl node hash map/set.
...
Remove stdx::unordered_multimap and multiset.
Custom hashers to stdx::unordered_map are not trusted by default, we
will rehash the produced hash with absl again to ensure we have a good
hash function.
2018-12-20 09:18:05 -05:00
James Wahlin
056d61676f
SERVER-32308 Support for $lookup to execute on mongos against a sharded foreign collection
2018-12-12 14:41:24 -05:00
Bernard Gorman
afe80e6c70
SERVER-36871 $sample can loop infinitely on orphaned data
2018-12-11 17:41:12 +00:00
David Storch
8c3877860e
Fix error code conflict.
2018-12-07 16:22:41 -05:00
David Storch
7000ad6f39
SERVER-38063 Fail cleanly on execution-level explain of $out pipeline.
2018-12-07 16:14:56 -05:00
Charlie Swanson
67e98183b1
SERVER-38349 Disallow exchange passed to mongos
2018-12-07 16:07:37 -05:00
Devin Hilly
1862b00862
SERVER-31098 Wrong ns in system.profile for aggregation query
2018-11-20 11:24:41 -05:00
Bernard Gorman
4177d6d22a
SERVER-37750 Optimized $sample stage does not yield
2018-11-15 01:35:17 +00:00
Justin Seyster
cadd454ca9
SERVER-36881 Push merge-pipeline $limit stage to shards.
2018-11-09 14:26:49 -05:00