Re: [PATCH] Refactor pgbench to make future improvements easier

From: "Koshi Shibagaki (Fujitsu)" <shibagaki(dot)koshi(at)fujitsu(dot)com>
To: Hannu Krosing <hannuk(at)google(dot)com>
Cc: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
Subject: Re: [PATCH] Refactor pgbench to make future improvements easier
Date: 2026-11-05 03:52:09
Message-ID: TY5PR01MB1844582E13D20621BE09CA1DCFA772@TY5PR01MB18445.jpnprd01.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

> How about this -- if you feel strong about this patch series, maybe
> let's pick up a single feature out of those you want to propose, isolate
> any refactoring needed explicitely to support it and go with the feature
> as a motivation? I'm not talking about the original patch set from the
> first message in this thread, but something much smaller and digestible.

I agree with Dmitry's suggestion to pick one feature and limit the refactoring
to what is needed to support it.

Previously I suggested focusing on code movement, but a concrete use case
would help us judge the module boundaries and the scope of the changes.

> Alternatively, since we are talking about simple reorganization, maybe
> it shouldn't even start with patches? Maybe a table (CSV?) of what
> functions to move where, and/or some text based diagram format like
> mermaid to visualize the architecture/structure you want to get, if
> you want to talk about the long term vision?

I also think Zsolt's suggestion of using a table or diagram could help us discuss
the proposed structure for that feature before working on the patches.

IIUC, the earlier proposal [1] includes extracting shared implementations of
distribution generators, permutation functions, and hash functions, and exposing
them through a server-side extension.

For example, how about starting with the distribution generators and limiting
the scope to those? Generating skewed test data in SQL using pgbench’s distribution
algorithms would give us a concrete reason for that refactoring.

[1] https://www.postgresql.org/message-id/CAMT0RQQ1Y47QSeLkVfF5SfanJMpDU%2B2QBPjDLXaBkB7PMVQXOQ%40mail.gmail.com

Koshi Shibagaki
FUJITSU LIMITED
https://www.fujitsu.com/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2026-11-05 04:18:09 Re: nodeWindowAgg.c IGNORE NULLS abs overflow
Previous Message Mingjie Gao 2026-11-05 02:48:05 Re: [PATCH v1] Fix initial sync of zero-column published tables