diff options
| author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
|---|---|---|
| committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
| commit | 4cb8841196d0625dfa3825aa326f071cd27c7b8b (patch) | |
| tree | 1682a647d4463397c119183369ae6f750d5fdcff /src/mongo/db/query/query_solution.h | |
| parent | aa03c6362cbaa767638e6eed9b031d86dd2643d1 (diff) | |
| parent | 8f0827553e09872941945a093b647a4211a9db7f (diff) | |
Update upstream source from tag 'upstream/6.0.0'master
Update to upstream version '6.0.0'
with Debian dir 5604a80ec1c96ca76f25f40d78e6ef855abec322
Diffstat (limited to 'src/mongo/db/query/query_solution.h')
| -rw-r--r-- | src/mongo/db/query/query_solution.h | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/src/mongo/db/query/query_solution.h b/src/mongo/db/query/query_solution.h index 8b04e9f0bf3..f318884280b 100644 --- a/src/mongo/db/query/query_solution.h +++ b/src/mongo/db/query/query_solution.h @@ -463,10 +463,6 @@ struct CollectionScanNode : public QuerySolutionNodeWithSortSet { QuerySolutionNode* clone() const; - bool doClusteredCollectionScan() const { - return (!isOplog && (minRecord || maxRecord)); - } - // Name of the namespace. std::string name; @@ -506,9 +502,6 @@ struct CollectionScanNode : public QuerySolutionNodeWithSortSet { int direction{1}; - // Tells whether the collection is an oplog. - bool isOplog = false; - // By default, includes the minRecord and maxRecord when present. CollectionScanParams::ScanBoundInclusion boundInclusion = CollectionScanParams::ScanBoundInclusion::kIncludeBothStartAndEndRecords; @@ -522,8 +515,8 @@ struct CollectionScanNode : public QuerySolutionNodeWithSortSet { struct ColumnIndexScanNode : public QuerySolutionNode { ColumnIndexScanNode(ColumnIndexEntry, - OrderedPathSet outputFields, - OrderedPathSet matchFields, + std::set<std::string> outputFields, + std::set<std::string> matchFields, StringMap<std::unique_ptr<MatchExpression>> filtersByPath, std::unique_ptr<MatchExpression> postAssemblyFilter); @@ -563,11 +556,11 @@ struct ColumnIndexScanNode : public QuerySolutionNode { ColumnIndexEntry indexEntry; // The fields we need to output. Dot separated path names. - OrderedPathSet outputFields; + std::set<std::string> outputFields; // The fields which are referenced by any and all filters - either in 'filtersByPath' or // 'postAssemblyFilter'. - OrderedPathSet matchFields; + std::set<std::string> matchFields; // A column scan can apply a filter to the columns directly while scanning, or to a document // assembled from the scanned columns. @@ -582,7 +575,7 @@ struct ColumnIndexScanNode : public QuerySolutionNode { // A cached copy of the union of the above two field sets which we expect to be frequently asked // for. - OrderedPathSet allFields; + std::set<std::string> allFields; }; /** @@ -1401,13 +1394,11 @@ struct GroupNode : public QuerySolutionNode { for (auto& groupByExprField : groupByExpression->getDependencies().fields) { requiredFields.insert(groupByExprField); } - needWholeDocument = groupByExpression->getDependencies().needWholeDocument; for (auto&& acc : accumulators) { auto argExpr = acc.expr.argument; for (auto& argExprField : argExpr->getDependencies().fields) { requiredFields.insert(argExprField); } - needWholeDocument |= argExpr->getDependencies().needWholeDocument; } } @@ -1443,7 +1434,6 @@ struct GroupNode : public QuerySolutionNode { // the fields in the 'groupByExpressions' and the fields in the input Expressions of the // 'accumulators'. StringSet requiredFields; - bool needWholeDocument = false; // If set to true, generated SBE plan will produce result as BSON object. If false, // 'sbe::Object' is produced instead. |
