Fix show_incremental_sort_info with force_parallel_mode

When executed with force_parallel_mode=regress, the function was exiting
too early and thus failed to print the worker stats. Fixed by making it
more like show_sort_info.

Discussion: https://postgr.es/m/CAPpHfds1waRZ=NOmueYq0sx1ZSCnt+5QJvizT8ndT2=etZEeAQ@mail.gmail.com
This commit is contained in:
Tomas Vondra 2020-04-06 23:19:13 +02:00
parent d2d8a229bc
commit 7d6d82a524
1 changed files with 11 additions and 8 deletions

View File

@ -2880,19 +2880,22 @@ show_incremental_sort_info(IncrementalSortState *incrsortstate,
fullsortGroupInfo = &incrsortstate->incsort_info.fullsortGroupInfo;
if (!(es->analyze && fullsortGroupInfo->groupCount > 0))
if (!es->analyze)
return;
show_incremental_sort_group_info(fullsortGroupInfo, "Full-sort", true, es);
prefixsortGroupInfo = &incrsortstate->incsort_info.prefixsortGroupInfo;
if (prefixsortGroupInfo->groupCount > 0)
if (fullsortGroupInfo->groupCount > 0)
{
show_incremental_sort_group_info(fullsortGroupInfo, "Full-sort", true, es);
prefixsortGroupInfo = &incrsortstate->incsort_info.prefixsortGroupInfo;
if (prefixsortGroupInfo->groupCount > 0)
{
if (es->format == EXPLAIN_FORMAT_TEXT)
appendStringInfo(es->str, " ");
show_incremental_sort_group_info(prefixsortGroupInfo, "Presorted", false, es);
}
if (es->format == EXPLAIN_FORMAT_TEXT)
appendStringInfo(es->str, " ");
show_incremental_sort_group_info(prefixsortGroupInfo, "Presorted", false, es);
appendStringInfo(es->str, "\n");
}
if (es->format == EXPLAIN_FORMAT_TEXT)
appendStringInfo(es->str, "\n");
if (incrsortstate->shared_info != NULL)
{