diff options
Diffstat (limited to 'src/mongo/db/query/plan_explainer_impl.cpp')
-rw-r--r-- | src/mongo/db/query/plan_explainer_impl.cpp | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/src/mongo/db/query/plan_explainer_impl.cpp b/src/mongo/db/query/plan_explainer_impl.cpp index 2178af2b530..0319a256e2f 100644 --- a/src/mongo/db/query/plan_explainer_impl.cpp +++ b/src/mongo/db/query/plan_explainer_impl.cpp @@ -213,18 +213,18 @@ void statsToBSON(const PlanStageStats& stats, // Some top-level exec stats get pulled out of the root stage. if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("nReturned", stats.common.advanced); + bob->appendNumber("nReturned", static_cast<long long>(stats.common.advanced)); // Include executionTimeMillis if it was recorded. if (stats.common.executionTimeMillis) { bob->appendNumber("executionTimeMillisEstimate", *stats.common.executionTimeMillis); } - bob->appendNumber("works", stats.common.works); - bob->appendNumber("advanced", stats.common.advanced); - bob->appendNumber("needTime", stats.common.needTime); - bob->appendNumber("needYield", stats.common.needYield); - bob->appendNumber("saveState", stats.common.yields); - bob->appendNumber("restoreState", stats.common.unyields); + bob->appendNumber("works", static_cast<long long>(stats.common.works)); + bob->appendNumber("advanced", static_cast<long long>(stats.common.advanced)); + bob->appendNumber("needTime", static_cast<long long>(stats.common.needTime)); + bob->appendNumber("needYield", static_cast<long long>(stats.common.needYield)); + bob->appendNumber("saveState", static_cast<long long>(stats.common.yields)); + bob->appendNumber("restoreState", static_cast<long long>(stats.common.unyields)); if (stats.common.failed) bob->appendBool("failed", stats.common.failed); bob->appendNumber("isEOF", stats.common.isEOF); @@ -235,12 +235,12 @@ void statsToBSON(const PlanStageStats& stats, AndHashStats* spec = static_cast<AndHashStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("memUsage", spec->memUsage); - bob->appendNumber("memLimit", spec->memLimit); + bob->appendNumber("memUsage", static_cast<long long>(spec->memUsage)); + bob->appendNumber("memLimit", static_cast<long long>(spec->memLimit)); for (size_t i = 0; i < spec->mapAfterChild.size(); ++i) { bob->appendNumber(std::string(str::stream() << "mapAfterChild_" << i), - spec->mapAfterChild[i]); + static_cast<long long>(spec->mapAfterChild[i])); } } } else if (STAGE_AND_SORTED == stats.stageType) { @@ -249,7 +249,7 @@ void statsToBSON(const PlanStageStats& stats, if (verbosity >= ExplainOptions::Verbosity::kExecStats) { for (size_t i = 0; i < spec->failedAnd.size(); ++i) { bob->appendNumber(std::string(str::stream() << "failedAnd_" << i), - spec->failedAnd[i]); + static_cast<long long>(spec->failedAnd[i])); } } } else if (STAGE_COLLSCAN == stats.stageType) { @@ -268,7 +268,7 @@ void statsToBSON(const PlanStageStats& stats, [&](const char* str, int size) { bob->append("maxRecord", OID::from(str)); }); } if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("docsExamined", spec->docsTested); + bob->appendNumber("docsExamined", static_cast<long long>(spec->docsTested)); } } else if (STAGE_COUNT == stats.stageType) { CountStats* spec = static_cast<CountStats*>(stats.specific.get()); @@ -281,7 +281,7 @@ void statsToBSON(const PlanStageStats& stats, CountScanStats* spec = static_cast<CountScanStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("keysExamined", spec->keysExamined); + bob->appendNumber("keysExamined", static_cast<long long>(spec->keysExamined)); } bob->append("keyPattern", spec->keyPattern); @@ -308,7 +308,7 @@ void statsToBSON(const PlanStageStats& stats, DeleteStats* spec = static_cast<DeleteStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("nWouldDelete", spec->docsDeleted); + bob->appendNumber("nWouldDelete", static_cast<long long>(spec->docsDeleted)); } } else if (STAGE_DISTINCT_SCAN == stats.stageType) { DistinctScanStats* spec = static_cast<DistinctScanStats*>(stats.specific.get()); @@ -335,7 +335,7 @@ void statsToBSON(const PlanStageStats& stats, } if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("keysExamined", spec->keysExamined); + bob->appendNumber("keysExamined", static_cast<long long>(spec->keysExamined)); } } else if (STAGE_ENSURE_SORTED == stats.stageType) { EnsureSortedStats* spec = static_cast<EnsureSortedStats*>(stats.specific.get()); @@ -346,8 +346,8 @@ void statsToBSON(const PlanStageStats& stats, } else if (STAGE_FETCH == stats.stageType) { FetchStats* spec = static_cast<FetchStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("docsExamined", spec->docsExamined); - bob->appendNumber("alreadyHasObj", spec->alreadyHasObj); + bob->appendNumber("docsExamined", static_cast<long long>(spec->docsExamined)); + bob->appendNumber("alreadyHasObj", static_cast<long long>(spec->alreadyHasObj)); } } else if (STAGE_GEO_NEAR_2D == stats.stageType || STAGE_GEO_NEAR_2DSPHERE == stats.stageType) { NearStats* spec = static_cast<NearStats*>(stats.specific.get()); @@ -373,8 +373,8 @@ void statsToBSON(const PlanStageStats& stats, } else if (STAGE_IDHACK == stats.stageType) { IDHackStats* spec = static_cast<IDHackStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("keysExamined", spec->keysExamined); - bob->appendNumber("docsExamined", spec->docsExamined); + bob->appendNumber("keysExamined", static_cast<long long>(spec->keysExamined)); + bob->appendNumber("docsExamined", static_cast<long long>(spec->docsExamined)); } } else if (STAGE_IXSCAN == stats.stageType) { IndexScanStats* spec = static_cast<IndexScanStats*>(stats.specific.get()); @@ -401,21 +401,21 @@ void statsToBSON(const PlanStageStats& stats, } if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("keysExamined", spec->keysExamined); - bob->appendNumber("seeks", spec->seeks); - bob->appendNumber("dupsTested", spec->dupsTested); - bob->appendNumber("dupsDropped", spec->dupsDropped); + bob->appendNumber("keysExamined", static_cast<long long>(spec->keysExamined)); + bob->appendNumber("seeks", static_cast<long long>(spec->seeks)); + bob->appendNumber("dupsTested", static_cast<long long>(spec->dupsTested)); + bob->appendNumber("dupsDropped", static_cast<long long>(spec->dupsDropped)); } } else if (STAGE_OR == stats.stageType) { OrStats* spec = static_cast<OrStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("dupsTested", spec->dupsTested); - bob->appendNumber("dupsDropped", spec->dupsDropped); + bob->appendNumber("dupsTested", static_cast<long long>(spec->dupsTested)); + bob->appendNumber("dupsDropped", static_cast<long long>(spec->dupsDropped)); } } else if (STAGE_LIMIT == stats.stageType) { LimitStats* spec = static_cast<LimitStats*>(stats.specific.get()); - bob->appendNumber("limitAmount", spec->limit); + bob->appendNumber("limitAmount", static_cast<long long>(spec->limit)); } else if (isProjectionStageType(stats.stageType)) { ProjectionStats* spec = static_cast<ProjectionStats*>(stats.specific.get()); bob->append("transformBy", spec->projObj); @@ -430,24 +430,25 @@ void statsToBSON(const PlanStageStats& stats, ShardingFilterStats* spec = static_cast<ShardingFilterStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("chunkSkips", spec->chunkSkips); + bob->appendNumber("chunkSkips", static_cast<long long>(spec->chunkSkips)); } } else if (STAGE_SKIP == stats.stageType) { SkipStats* spec = static_cast<SkipStats*>(stats.specific.get()); - bob->appendNumber("skipAmount", spec->skip); + bob->appendNumber("skipAmount", static_cast<long long>(spec->skip)); } else if (isSortStageType(stats.stageType)) { SortStats* spec = static_cast<SortStats*>(stats.specific.get()); bob->append("sortPattern", spec->sortPattern); - bob->appendIntOrLL("memLimit", spec->maxMemoryUsageBytes); + bob->appendNumber("memLimit", static_cast<long long>(spec->maxMemoryUsageBytes)); if (spec->limit > 0) { - bob->appendIntOrLL("limitAmount", spec->limit); + bob->appendNumber("limitAmount", static_cast<long long>(spec->limit)); } bob->append("type", stats.stageType == STAGE_SORT_SIMPLE ? "simple" : "default"); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendIntOrLL("totalDataSizeSorted", spec->totalDataSizeBytes); + bob->appendNumber("totalDataSizeSorted", + static_cast<long long>(spec->totalDataSizeBytes)); bob->appendBool("usedDisk", (spec->spills > 0)); } } else if (STAGE_SORT_MERGE == stats.stageType) { @@ -455,8 +456,8 @@ void statsToBSON(const PlanStageStats& stats, bob->append("sortPattern", spec->sortPattern); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("dupsTested", spec->dupsTested); - bob->appendNumber("dupsDropped", spec->dupsDropped); + bob->appendNumber("dupsTested", static_cast<long long>(spec->dupsTested)); + bob->appendNumber("dupsDropped", static_cast<long long>(spec->dupsDropped)); } } else if (STAGE_TEXT == stats.stageType) { TextStats* spec = static_cast<TextStats*>(stats.specific.get()); @@ -469,21 +470,21 @@ void statsToBSON(const PlanStageStats& stats, TextMatchStats* spec = static_cast<TextMatchStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("docsRejected", spec->docsRejected); + bob->appendNumber("docsRejected", static_cast<long long>(spec->docsRejected)); } } else if (STAGE_TEXT_OR == stats.stageType) { TextOrStats* spec = static_cast<TextOrStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("docsExamined", spec->fetches); + bob->appendNumber("docsExamined", static_cast<long long>(spec->fetches)); } } else if (STAGE_UPDATE == stats.stageType) { UpdateStats* spec = static_cast<UpdateStats*>(stats.specific.get()); if (verbosity >= ExplainOptions::Verbosity::kExecStats) { - bob->appendNumber("nMatched", spec->nMatched); - bob->appendNumber("nWouldModify", spec->nModified); - bob->appendNumber("nWouldUpsert", spec->nUpserted); + bob->appendNumber("nMatched", static_cast<long long>(spec->nMatched)); + bob->appendNumber("nWouldModify", static_cast<long long>(spec->nModified)); + bob->appendNumber("nWouldUpsert", static_cast<long long>(spec->nUpserted)); } } |