* Tom Lane (tgl@sss.pgh.pa.us) wrote:
> Stephen Frost <sfrost@snowman.net> writes:
> > * Fabien COELHO (coelho@cri.ensmp.fr) wrote:
> >> Indeed, some kind of "if" is needed, for instance to implement
> >> "tpc-b" correctly.
>
> > That's an interesting point.. Have you thought about ripping out the
> > built-in TPC-B-like functionality of pgbench and making that into a
> > script instead?
>
> It already is a script, it's just hardwired as a string constant in
> pgbench.c rather than being a separate file. I think Fabien is
> suggesting that it could be changed to more nearly approximate the
> actual TPC-B spec, but IMO that would be a seriously bad idea because
> it would invalidate all cross-version performance comparisons. We
> decided years ago that the default script is what it is and we aren't
> going to change it to try to match TPC-B more exactly.
If we could replicate what the hardwired script does in an external
script, keeping that as the default, and then provide a 'Closer to
TPC-B' script, then I'm all for that. If the existing "hardwired
script" is really just a string constant, then we shouldn't need to
worry about that invalidating prior runs.
> >> The SQL syntax for CASE is on the very heavy side and would be quite
> >> complicated to implement in pgbench, so I rejected that and selected
> >> the simplest possible function for the job.
>
> > I'm not quite sure that I follow why you feel that CASE would be too
> > difficult to implement here..?
>
> If you want simple, you could provide just a subset of CASE (ie, only
> the CASE WHEN boolexpr variant). I think inventing some random new syntax
> is a bad idea.
Agreed.
Thanks!
Stephen