Re: Allow pageinspect's bt_page_stats function to return a set of rows instead of a single row - Mailing list pgsql-hackers

From Hamid Akhtar
Subject Re: Allow pageinspect's bt_page_stats function to return a set of rows instead of a single row
Date
Msg-id CANugjhufKQCS95DwTToEkMEdk3U+XqFQGAamDseV+_ARb4fCpA@mail.gmail.com
Whole thread Raw
In response to Re: Allow pageinspect's bt_page_stats function to return a set of rows instead of a single row  (Hamid Akhtar <hamid.akhtar@gmail.com>)
Responses Re: Allow pageinspect's bt_page_stats function to return a set of rows instead of a single row
Re: Allow pageinspect's bt_page_stats function to return a set of rows instead of a single row
List pgsql-hackers


On Sun, 31 Jul 2022 at 18:00, Hamid Akhtar <hamid.akhtar@gmail.com> wrote:


On Thu, 28 Jul 2022 at 00:36, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Hamid Akhtar <hamid.akhtar@gmail.com> writes:
> That attached patch is based on the master branch. It makes the following
> changes to the pageinspect contrib module:
> - Updates bt_page_stats_internal function to accept 3 arguments instead of
> 2.
> - The function now uses SRF macros to return a set rather than a single
> row. The function call now requires specifying column names.

FWIW, I think you'd be way better off changing the function name, say
to bt_multi_page_stats().  Overloading the name this way is going to
lead to great confusion, e.g. somebody who fat-fingers the number of
output arguments in a JDBC call could see confusing results due to
invoking the wrong one of the two functions.  Also, I'm not quite sure
what you mean by "The function call now requires specifying column
names", but it doesn't sound like an acceptable restriction from a
compatibility standpoint.  If a different name dodges that issue then
it's clearly a better way.

                        regards, tom lane

Attached please find the latest version of the patch; pageinspect_btree_multipagestats_02.patch.

It no longer modifies the existing bt_page_stats function. Instead, it introduces a new function bt_multi_page_stats as you had suggested. The function expects three arguments where the first argument is the index name followed by block number and number of blocks to be returned.

Please ignore this statement. It was a typo.
"The function call now requires specifying column names"

Attached is the rebased version of the patch (pageinspect_btree_multipagestats_03.patch) for the master branch.
 
 
Attachment

pgsql-hackers by date:

Previous
From: Hamid Akhtar
Date:
Subject: Re: Allow pageinspect's bt_page_stats function to return a set of rows instead of a single row
Next
From: Justin Pryzby
Date:
Subject: pg_upgrade errno