| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This change improves the performance of blocking sort
operations executed in the PlanStage layer using the
SortStage.
|
|
|
|
|
| |
This improves the performance of blocking sort operations
executed in the agg layer of the execution tree.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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').
|
|
|
|
|
|
| |
Document/Value is now used throughout the query execution
engine, and therefore should move into the directory which
holds query execution code.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|