Commit Graph

10 Commits

Author SHA1 Message Date
Mihai Andrei b2aa374214 SERVER-46077 Create aggregation_secondary_reads passthrough
(cherry picked from commit 45341f946b)
2020-03-11 14:21:42 +00:00
David Storch 1b75fcdcaf SERVER-43816 Push $text and $meta:"textScore" sort into the PlanStage layer.
This change involves unifying the behavior of find and
agg for validation of $meta:"textScore". In particular, find
operations no longer require a "textScore" $meta projection
in order to specify a "textScore" $meta sort. This brings
find into alignment with agg, which never had such a
restriction. It is also now legal for a find command to
sort on the field overridden by a $meta:"textScore" projection
without specifying the $meta operator in the sort pattern.

In addition:
 - Tightens validation around uses of "textScore" $meta
 projections for queries that do not specify a $text
 predicate.
 - Fixes a bug in which $natural sort/hint were not
 correctly validated.
2019-12-18 03:28:25 +00:00
Anton Korshunov 1bbcedbd0c SERVER-43294 Add new aggregation suite to be run with pipeline optimization turned off 2019-11-05 11:22:02 +00:00
Anton Korshunov bc26f68ff0 SERVER-42905 Push down user-specified projections to PlanStage layer if possible 2019-10-31 15:46:48 +00:00
David Storch 8d048a3bb2 SERVER-7568 Push $sort into PlanStage layer even for blocking SORT plans.
This change results in the multi-planning mechanism
evaluating both non-blocking and blocking plans for the
$sort when possible. The system should no longer select a
non-blocking plan when a plan with a SORT stage is superior.
2019-10-22 21:32:40 +00:00
Ian Boros 1b0927456e SERVER-42988 allow agg-style object syntax in find() projection 2019-10-21 22:49:04 +00:00
David Storch d1a128b434 SERVER-36723 Push $limit beneath DocumentSourceCursor into the PlanStage layer.
In addition towards working towards the general goal of
doing as much query execution as possible with a PlanStage
tree, this should have a positive performance impact for
certain agg pipelines. Previously, a pipeline with a
$project (or a $project-like stage such as $addFields)
followed by a $limit might have applied this limit only
after a full batch of data was loaded by
DocumentSourceCursor. After this change, the limit will take
effect prior to DocumentSourceCursor batching, and thus may
reduce the amount of data processed by the query.
2019-10-10 22:16:39 +00:00
James Wahlin 39c3a5d77b SERVER-42773 Replace uses of the assert.writeOK() Javascript assertion with assert.commandWorked() 2019-08-14 13:52:59 +00:00
clang-format-7.0.1 134a408395
SERVER-41772 Apply clang-format 7.0.1 to the codebase 2019-07-27 11:02:23 -04: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