summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_group.h
diff options
context:
space:
mode:
authorDianna Hohensee <dianna.hohensee@10gen.com>2018-09-13 15:09:08 -0400
committerDianna Hohensee <dianna.hohensee@10gen.com>2018-10-31 08:42:19 -0400
commit2be7f2677a40a863f336d2964f456c9d87ddc838 (patch)
tree968b48c9cb77e7669cf129d3592e7461bd2ed7df /src/mongo/db/pipeline/document_source_group.h
parent236c6c28a18210586673097ee436c5b613b6c46f (diff)
downloadmongo-2be7f2677a40a863f336d2964f456c9d87ddc838.tar.gz
SERVER-17010 each Sorter instance spills to a single file rather than a new file per spill to disk
Diffstat (limited to 'src/mongo/db/pipeline/document_source_group.h')
-rw-r--r--src/mongo/db/pipeline/document_source_group.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/document_source_group.h b/src/mongo/db/pipeline/document_source_group.h
index 9df59c10329..a1d6fdad059 100644
--- a/src/mongo/db/pipeline/document_source_group.h
+++ b/src/mongo/db/pipeline/document_source_group.h
@@ -187,6 +187,8 @@ private:
explicit DocumentSourceGroup(const boost::intrusive_ptr<ExpressionContext>& pExpCtx,
boost::optional<size_t> maxMemoryUsageBytes = boost::none);
+ ~DocumentSourceGroup();
+
/**
* getNext() dispatches to one of these three depending on what type of $group it is. All three
* of these methods expect '_currentAccumulators' to have been reset before being called, and
@@ -245,6 +247,10 @@ private:
bool _doingMerge;
size_t _memoryUsageBytes = 0;
size_t _maxMemoryUsageBytes;
+ std::string _fileName;
+ unsigned int _nextSortedFileWriterOffset = 0;
+ bool _ownsFileDeletion = true; // unless a MergeIterator is made that takes over.
+
std::vector<std::string> _idFieldNames; // used when id is a document
std::vector<boost::intrusive_ptr<Expression>> _idExpressions;