Re: HashAgg's batching counter starts at 0, but Hash's starts at 1. - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: HashAgg's batching counter starts at 0, but Hash's starts at 1.
Date
Msg-id 20200730040502.GR20393@telsasoft.com
Whole thread Raw
In response to Re: HashAgg's batching counter starts at 0, but Hash's starts at 1.  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: HashAgg's batching counter starts at 0, but Hash's starts at 1.  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-hackers
On Wed, Jul 29, 2020 at 08:35:08PM -0700, Peter Geoghegan wrote:
> AFAICT sort (and IncrSort) don't fail to show a field value if it is
> zero. Rather, they consistently show "space used" (in non-text
> format), which can be either memory or disk space. Technically they
> don't violate the letter of the law that you cite. (Though admittedly
> this is a legalistic loophole -- the "space" value presumably has to
> be interpreted according to different rules for programs that consume
> non-text EXPLAIN output.)

Sort shows this:
     Sort Method: "external merge"   +
     Sort Space Used: 19520          +
     Sort Space Type: "Disk"         +

Incremental sort shows this:
       Sort Methods Used:            +
         - "external merge"          +
       Sort Space Disk:              +
         Average Sort Space Used: 128+
         Peak Sort Space Used: 128   +

So my 2ndary suggestion is to conditionalize based on the method rather than
value of space used.

--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -2830 +2830 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo,
-               if (groupInfo->maxMemorySpaceUsed > 0)
+               if (groupInfo->sortMethods & SORT_TYPE_QUICKSORT)
@@ -2847 +2847 @@ show_incremental_sort_group_info(IncrementalSortGroupInfo *groupInfo,
-               if (groupInfo->maxDiskSpaceUsed > 0)
+               if (groupInfo->sortMethods & SORT_TYPE_EXTERNAL_SORT)

-- 
Justin



pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: PG 13 release notes, first draft
Next
From: Peter Geoghegan
Date:
Subject: Re: HashAgg's batching counter starts at 0, but Hash's starts at 1.