summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/sort_executor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-45918 Add SortStageSimple.David Storch2020-02-131-1/+1
| | | | | | | | | This new sort implementation can be used in lieu of the pre-existing general implementation when certain special conditions are met: - The incoming data is fetched. - The incoming data has no metadata attached. - The record id can be discarded.
* SERVER-45854 Hold WorkingSetMembers at a distance for sorting.David Storch2020-02-051-3/+5
| | | | | | This change improves the performance of blocking sort operations executed in the PlanStage layer using the SortStage.
* SERVER-44324 Template the SortExecutor.David Storch2019-11-041-101/+8
| | | | | This improves the performance of blocking sort operations executed in the agg layer of the execution tree.
* SERVER-7568 Push $sort into PlanStage layer even for blocking SORT plans.David Storch2019-10-221-17/+13
| | | | | | | 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.
* SERVER-42836 Count bytes in _totalDataSizeBytes after adding to SorterJustin Seyster2019-10-211-2/+2
| | | | | | Before this patch, the bytes get added _before_ we add to the Sorter, even though there is still a possibility that Sorter::add() will use up the rest of its memory limit and throw.
* SERVER-42182 Reimplement SortStage in terms of SortExecutor.David Storch2019-10-011-0/+13
| | | | | | | | This consolidates the implementations of DocumentSourceSort and SortStage to both use the same underlying sort execution code. It also allows a future change to expose external sort for find command (which currently requires 'enableTestCommands=true').
* SERVER-42302 Move Document/Value library to db/exec/document_value directory.David Storch2019-10-011-1/+1
| | | | | | Document/Value is now used throughout the query execution engine, and therefore should move into the directory which holds query execution code.
* SERVER-42649 Use Value instead of BSONObj in the in-memory sort keyJustin Seyster2019-09-261-38/+0
|
* SERVER-42981 Make WorkingSetMember compatible for use with the Sorter.David Storch2019-09-121-1/+35
| | | | | | | | The bulk of this change is to implement serialization and deserialization routines for WorkingSetMember, so that the Sorter can spill WorkingSetMembers to disk. In addition, this changes the SortExecutor to sort WorkingSetMembers internally as opposed to sorting Documents.
* SERVER-41960 Refactor DocumentSourceSort logic into SortExecutorMisha Ivkov2019-07-231-0/+149