diff options
| author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-18 17:02:53 -0300 |
|---|---|---|
| committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-18 17:02:53 -0300 |
| commit | 959575a5ca598bf5f37fb5cebe7ed1d80d3d71f7 (patch) | |
| tree | acc8d60aedb12b70048e676e8a7349deb0010db8 /src/mongo/db/query/sort_pattern.cpp | |
| parent | 76588293975fc059cf076779e4283e6ffaf8afff (diff) | |
New upstream version 6.0.20upstream
Diffstat (limited to 'src/mongo/db/query/sort_pattern.cpp')
| -rw-r--r-- | src/mongo/db/query/sort_pattern.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mongo/db/query/sort_pattern.cpp b/src/mongo/db/query/sort_pattern.cpp index fcd3cd177e1..5a444cd31f2 100644 --- a/src/mongo/db/query/sort_pattern.cpp +++ b/src/mongo/db/query/sort_pattern.cpp @@ -112,13 +112,13 @@ QueryMetadataBitSet SortPattern::metadataDeps(QueryMetadataBitSet unavailableMet return depsTracker.metadataDeps(); } -Document SortPattern::serialize(SortKeySerialization serializationMode) const { +Document SortPattern::serialize(SortKeySerialization serializationMode, + const SerializationOptions& options) const { MutableDocument keyObj; const size_t n = _sortPattern.size(); for (size_t i = 0; i < n; ++i) { if (_sortPattern[i].fieldPath) { - // Append a named integer based on whether the sort is ascending/descending. - keyObj.setField(_sortPattern[i].fieldPath->fullPath(), + keyObj.setField(options.serializeFieldPath(*_sortPattern[i].fieldPath), Value(_sortPattern[i].isAscending ? 1 : -1)); } else { // Sorting by an expression, use a made up field name. @@ -127,7 +127,12 @@ Document SortPattern::serialize(SortKeySerialization serializationMode) const { case SortKeySerialization::kForExplain: case SortKeySerialization::kForPipelineSerialization: { const bool isExplain = (serializationMode == SortKeySerialization::kForExplain); - keyObj[computedFieldName] = _sortPattern[i].expression->serialize(isExplain); + auto opts = SerializationOptions{}; + if (isExplain) { + opts.verbosity = + boost::make_optional(ExplainOptions::Verbosity::kQueryPlanner); + } + keyObj[computedFieldName] = _sortPattern[i].expression->serialize(opts); break; } case SortKeySerialization::kForSortKeyMerging: { |
