Re: splitting src/bin/scripts/vacuumdb.c

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Cc: Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: splitting src/bin/scripts/vacuumdb.c
Date: 2025-09-26 14:15:25
Message-ID: aNaf_YP9ruHG4Zbp@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Sep 26, 2025 at 01:55:50PM +0200, Álvaro Herrera wrote:
> - objfilter is declared as an enum but the values are bit-or'ed and
> tested for individual bits. We've discussed this coding pattern in
> other contexts and stayed away from it, on the grounds that the values
> so generated aren't really true values of the enum. I changed it from
> an enum to a bits32 with a few #defines for the values we use, the way
> we do elsewhere. Also, instead of being passed as a separate argument
> to the various functions, I added it to the vacuumingOpts struct.
>
> - Two booleans, analyze_in_stages and analyze_only, are really
> determining what "mode" the program runs in -- it's either vacuum, or
> one of those two modes. (Antonin came up with the idea of using
> "modes", but his patch only adds a new REPACK mode on top of the
> existing code without any further changes). I think the code flow is a
> little neater by making this change; consider for instance this change:

Seems reasonable to me.

> Overall I'm quite happy with this small patch now, so I intend to push
> shortly barring objections. I'm not adding a new commitfest entry, just
> adding this new thread to the existing entry for REPACK. I kept the
> patch numbering as used in the other thread.

Is there any way to separate the aforementioned changes into a separate
patch from the refactoring changes? That would make it a lot easier to
review. I think we have decent testing for vacuumdb, so I'm not too
concerned if this isn't feasible.

--
nathan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-09-26 14:23:21 Re: plan shape work
Previous Message Tom Lane 2025-09-26 14:11:55 Re: [PATCH] GROUP BY ALL