Commit Graph

23 Commits

Author SHA1 Message Date
Peter Volk 7130535cf9 SERVER-77183 $project followed by $group gives incorrect results sometimes 2023-08-22 15:07:13 +00:00
Charlie Swanson 904122d4b1 SERVER-66812 Fix bug with $group projection analysis
(cherry picked from commit 8a3af130c7)
2022-06-08 13:44:59 +00:00
Irina Yatsenko e25f4d744b SERVER-58429 enable group lowering into SBE for cached and multi- plans 2021-11-18 17:03:56 +00:00
Yoonsoo Kim ab7079d89a SERVER-60759 Eliminate `mkbson` stage when multiple $group stages are pushed down 2021-10-21 18:56:12 +00:00
Eric Cox a10b82783a SERVER-60101 Eliminate intermediate mkobj stage from $group plans 2021-09-29 15:46:05 +00:00
Eric Cox 26e11ce3ad SERVER-60216 Enable $group pushdown with $sum 2021-09-24 20:34:27 +00:00
Eric Cox 1482ec7b3a SERVER-60177 Handle empty collection in unionWith when pushing down 2021-09-23 17:44:38 +00:00
Eric Cox 2b19aecdcd SERVER-60139 Support group pushdown in pipeline optimization tests 2021-09-22 20:08:50 +00:00
David Percy 93e25299fb SERVER-54128 Don't push down expressions past sort+limit 2021-06-23 15:52:33 +00:00
Nikita Lapkov 92ba6ed48b SERVER-56017 Support sort in covered queries in SBE 2021-04-26 14:59:27 +00:00
Anton Korshunov d362ea53d6 SERVER-54322 Text query plans are not shown properly in SBE explain 2021-03-13 07:52:14 +00:00
Nikita Lapkov 32cea84dcc SERVER-40909 push down $skip stage to query when possible 2020-10-05 15:53:51 +00:00
Justin Seyster cdec685db9 SERVER-49227 Tag tests to be excluded from aggregation_slot_based_execution 2020-08-18 23:23:42 +00:00
Mihai Andrei 45341f946b SERVER-46077 Create aggregation_secondary_reads passthrough 2020-03-05 17:23:47 +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