Re: vacuumdb changes for stats import/export

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Jeff Davis <pgsql(at)j-davis(dot)com>, Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Magnus Hagander <magnus(at)hagander(dot)net>, Stephen Frost <sfrost(at)snowman(dot)net>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, alvherre(at)alvh(dot)no-ip(dot)org
Subject: Re: vacuumdb changes for stats import/export
Date: 2025-02-28 20:42:11
Message-ID: Z8Ifozh3FkvfBIzU@nathan
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 27, 2025 at 04:36:04PM +0700, John Naylor wrote:
> On Wed, Feb 5, 2025 at 4:44 AM Nathan Bossart <nathandbossart(at)gmail(dot)com> wrote:
>> [v2]
>
> I started looking just at 0001, and it seems like a fairly
> straightforward rearrangement.

Thanks for taking a look.

> I found this comment quite hard to read:
>
> + * 'found_objs' should be a fully qualified list of objects to process, as
> + * returned by a previous call to vacuum_one_database(). If *found_objs is
> + * NULL, it is set to the results of the catalog query discussed below. If
> + * found_objs is NULL, the results of the catalog query are not returned.
> + *
> + * If *found_objs is NULL, this function performs a catalog query to retrieve
> + * the list of tables to process. When 'objects' is NULL, all tables in the
>
> I had to read it several times before I noticed the difference between
> "* found_objs" and "*found_objs". Maybe some extra spacing and breaks
> would help, or other reorganization.

Yeah, it's pretty atrocious. I think the main problem is that the
interface is just too complicated, so I'll take a step back and see if I
can make it more understandable to humans. In the meantime, here's an
attempt at adjusting the comment:

* found_objs is a double pointer to a fully qualified list of objects to
* process, as returned by a previous call to vacuum_one_database(). If
* *found_objs (the once-dereferenced double pointer) is NULL, it is set to the
* results of the catalog query discussed below. If found_objs (the double
* pointer) is NULL, the results of the catalog query are not returned.
*
* If *found_objs (the once-dereferenced double pointer) is NULL, this function
* performs a catalog query to retrieve the list of tables to process. When
* "objects" is NULL, all tables in the database are processed. Otherwise, the
* catalog query performs a lookup for the objects listed in "objects".

--
nathan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2025-02-28 20:51:27 Re: optimize file transfer in pg_upgrade
Previous Message Jacob Champion 2025-02-28 20:40:13 Re: [PATCH] pg_stat_activity: make slow/hanging authentication more visible