diff options
author | David Rowley <drowley@postgresql.org> | 2020-08-02 14:24:46 +1200 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2020-08-02 14:24:46 +1200 |
commit | 6ee3b5fb990ea11992b0db960d79b1fbe7b5e8e5 (patch) | |
tree | 2af02411a15c6ac81a09eca50cc6c7d7f137e8d7 /src/backend/commands/explain.c | |
parent | cd5e82256de5895595cdd99ecb03aea15b346f71 (diff) | |
download | postgresql-6ee3b5fb990ea11992b0db960d79b1fbe7b5e8e5.tar.gz postgresql-6ee3b5fb990ea11992b0db960d79b1fbe7b5e8e5.zip |
Use int64 instead of long in incremental sort code
Windows 64bit has 4-byte long values which is not suitable for tracking
disk space usage in the incremental sort code. Let's just make all these
fields int64s.
Author: James Coleman
Discussion: https://postgr.es/m/CAApHDvpky%2BUhof8mryPf5i%3D6e6fib2dxHqBrhp0Qhu0NeBhLJw%40mail.gmail.com
Backpatch-through: 13, where the incremental sort code was added
Diffstat (limited to 'src/backend/commands/explain.c')
-rw-r--r-- | src/backend/commands/explain.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 54e3797a15b..1e565fd3375 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -2676,7 +2676,7 @@ show_sort_info(SortState *sortstate, ExplainState *es) TuplesortInstrumentation stats; const char *sortMethod; const char *spaceType; - long spaceUsed; + int64 spaceUsed; tuplesort_get_stats(state, &stats); sortMethod = tuplesort_method_name(stats.sortMethod); @@ -2686,7 +2686,7 @@ show_sort_info(SortState *sortstate, ExplainState *es) if (es->format == EXPLAIN_FORMAT_TEXT) { ExplainIndentText(es); - appendStringInfo(es->str, "Sort Method: %s %s: %ldkB\n", + appendStringInfo(es->str, "Sort Method: %s %s: " INT64_FORMAT "kB\n", sortMethod, spaceType, spaceUsed); } else @@ -2715,7 +2715,7 @@ show_sort_info(SortState *sortstate, ExplainState *es) TuplesortInstrumentation *sinstrument; const char *sortMethod; const char *spaceType; - long spaceUsed; + int64 spaceUsed; sinstrument = &sortstate->shared_info->sinstrument[n]; if (sinstrument->sortMethod == SORT_TYPE_STILL_IN_PROGRESS) @@ -2731,7 +2731,7 @@ show_sort_info(SortState *sortstate, ExplainState *es) { ExplainIndentText(es); appendStringInfo(es->str, - "Sort Method: %s %s: %ldkB\n", + "Sort Method: %s %s: " INT64_FORMAT "kB\n", sortMethod, spaceType, spaceUsed); } else @@ -2795,23 +2795,23 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo, if (groupInfo->maxMemorySpaceUsed > 0) { - long avgSpace = groupInfo->totalMemorySpaceUsed / groupInfo->groupCount; + int64 avgSpace = groupInfo->totalMemorySpaceUsed / groupInfo->groupCount; const char *spaceTypeName; spaceTypeName = tuplesort_space_type_name(SORT_SPACE_TYPE_MEMORY); - appendStringInfo(es->str, " Average %s: %ldkB Peak %s: %ldkB", + appendStringInfo(es->str, " Average %s: " INT64_FORMAT "kB Peak %s: " INT64_FORMAT "kB", spaceTypeName, avgSpace, spaceTypeName, groupInfo->maxMemorySpaceUsed); } if (groupInfo->maxDiskSpaceUsed > 0) { - long avgSpace = groupInfo->totalDiskSpaceUsed / groupInfo->groupCount; + int64 avgSpace = groupInfo->totalDiskSpaceUsed / groupInfo->groupCount; const char *spaceTypeName; spaceTypeName = tuplesort_space_type_name(SORT_SPACE_TYPE_DISK); - appendStringInfo(es->str, " Average %s: %ldkB Peak %s: %ldkB", + appendStringInfo(es->str, " Average %s: " INT64_FORMAT "kB Peak %s: " INT64_FORMAT "kB", spaceTypeName, avgSpace, spaceTypeName, groupInfo->maxDiskSpaceUsed); } @@ -2829,7 +2829,7 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo, if (groupInfo->maxMemorySpaceUsed > 0) { - long avgSpace = groupInfo->totalMemorySpaceUsed / groupInfo->groupCount; + int64 avgSpace = groupInfo->totalMemorySpaceUsed / groupInfo->groupCount; const char *spaceTypeName; StringInfoData memoryName; @@ -2846,7 +2846,7 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo, } if (groupInfo->maxDiskSpaceUsed > 0) { - long avgSpace = groupInfo->totalDiskSpaceUsed / groupInfo->groupCount; + int64 avgSpace = groupInfo->totalDiskSpaceUsed / groupInfo->groupCount; const char *spaceTypeName; StringInfoData diskName; |