|
|
@ -2841,7 +2841,7 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo, |
|
|
|
ExplainOpenGroup("Sort Space", memoryName.data, true, es); |
|
|
|
ExplainOpenGroup("Sort Space", memoryName.data, true, es); |
|
|
|
|
|
|
|
|
|
|
|
ExplainPropertyInteger("Average Sort Space Used", "kB", avgSpace, es); |
|
|
|
ExplainPropertyInteger("Average Sort Space Used", "kB", avgSpace, es); |
|
|
|
ExplainPropertyInteger("Maximum Sort Space Used", "kB", |
|
|
|
ExplainPropertyInteger("Peak Sort Space Used", "kB", |
|
|
|
groupInfo->maxMemorySpaceUsed, es); |
|
|
|
groupInfo->maxMemorySpaceUsed, es); |
|
|
|
|
|
|
|
|
|
|
|
ExplainCloseGroup("Sort Spaces", memoryName.data, true, es); |
|
|
|
ExplainCloseGroup("Sort Spaces", memoryName.data, true, es); |
|
|
@ -2858,7 +2858,7 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo, |
|
|
|
ExplainOpenGroup("Sort Space", diskName.data, true, es); |
|
|
|
ExplainOpenGroup("Sort Space", diskName.data, true, es); |
|
|
|
|
|
|
|
|
|
|
|
ExplainPropertyInteger("Average Sort Space Used", "kB", avgSpace, es); |
|
|
|
ExplainPropertyInteger("Average Sort Space Used", "kB", avgSpace, es); |
|
|
|
ExplainPropertyInteger("Maximum Sort Space Used", "kB", |
|
|
|
ExplainPropertyInteger("Peak Sort Space Used", "kB", |
|
|
|
groupInfo->maxDiskSpaceUsed, es); |
|
|
|
groupInfo->maxDiskSpaceUsed, es); |
|
|
|
|
|
|
|
|
|
|
|
ExplainCloseGroup("Sort Spaces", diskName.data, true, es); |
|
|
|
ExplainCloseGroup("Sort Spaces", diskName.data, true, es); |
|
|
@ -2883,6 +2883,15 @@ show_incremental_sort_info(IncrementalSortState *incrsortstate, |
|
|
|
if (!es->analyze) |
|
|
|
if (!es->analyze) |
|
|
|
return; |
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
* Since we never have any prefix groups unless we've first sorted a full |
|
|
|
|
|
|
|
* groups and transitioned modes (copying the tuples into a prefix group), |
|
|
|
|
|
|
|
* we don't need to do anything if there were 0 full groups. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* We still have to continue after this block if there are no full groups, |
|
|
|
|
|
|
|
* though, since it's possible that we have workers that did real work even |
|
|
|
|
|
|
|
* if the leader didn't participate. |
|
|
|
|
|
|
|
*/ |
|
|
|
if (fullsortGroupInfo->groupCount > 0) |
|
|
|
if (fullsortGroupInfo->groupCount > 0) |
|
|
|
{ |
|
|
|
{ |
|
|
|
show_incremental_sort_group_info(fullsortGroupInfo, "Full-sort", true, es); |
|
|
|
show_incremental_sort_group_info(fullsortGroupInfo, "Full-sort", true, es); |
|
|
@ -2914,6 +2923,13 @@ show_incremental_sort_info(IncrementalSortState *incrsortstate, |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
fullsortGroupInfo = &incsort_info->fullsortGroupInfo; |
|
|
|
fullsortGroupInfo = &incsort_info->fullsortGroupInfo; |
|
|
|
prefixsortGroupInfo = &incsort_info->prefixsortGroupInfo; |
|
|
|
prefixsortGroupInfo = &incsort_info->prefixsortGroupInfo; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
* Since we never have any prefix groups unless we've first sorted |
|
|
|
|
|
|
|
* a full groups and transitioned modes (copying the tuples into a |
|
|
|
|
|
|
|
* prefix group), we don't need to do anything if there were 0 full |
|
|
|
|
|
|
|
* groups. |
|
|
|
|
|
|
|
*/ |
|
|
|
if (fullsortGroupInfo->groupCount == 0 && |
|
|
|
if (fullsortGroupInfo->groupCount == 0 && |
|
|
|
prefixsortGroupInfo->groupCount == 0) |
|
|
|
prefixsortGroupInfo->groupCount == 0) |
|
|
|
continue; |
|
|
|
continue; |
|
|
|