Thread: [COMMITTERS] pgsql: Fix pgbench's failure to honor the documented long-form option"

Fix pgbench's failure to honor the documented long-form option "--builtin".

Not only did it not accept --builtin as a synonym for -b, but what it did
accept as a synonym was --tpc-b (huh?), which it got even further wrong
by marking as no_argument, so that if you did try that you got a core
dump.  I suppose this is leftover from some early design for the new
switches added by commit 8bea3d221, but it's still pretty sloppy work.

Per bug #14580 from Stepan Pesternikov.  Back-patch to 9.6 where the
error was introduced.

Report: https://postgr.es/m/20170307123347.25054.73207@wrigleys.postgresql.org

Branch
------
REL9_6_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/0e2c85d130b85549da469e8a16ee1c863e2f3da4

Modified Files
--------------
src/bin/pgbench/pgbench.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)


> Not only did it not accept --builtin as a synonym for -b, but what it did
> accept as a synonym was --tpc-b (huh?), which it got even further wrong
> by marking as no_argument, so that if you did try that you got a core
> dump.  I suppose this is leftover from some early design for the new
> switches added by commit 8bea3d221, but it's still pretty sloppy work.

Argh, shame on me. I think at some point --tpc-b was an alias for the
default script which then got replaced by builtin + name, but the
implementation did not follow the upgrade:-( Sorry for the result.

--
Fabien.


Fabien COELHO wrote:
>
> > Not only did it not accept --builtin as a synonym for -b, but what it did
> > accept as a synonym was --tpc-b (huh?), which it got even further wrong
> > by marking as no_argument, so that if you did try that you got a core
> > dump.  I suppose this is leftover from some early design for the new
> > switches added by commit 8bea3d221, but it's still pretty sloppy work.
>
> Argh, shame on me. I think at some point --tpc-b was an alias for the
> default script which then got replaced by builtin + name, but the
> implementation did not follow the upgrade:-( Sorry for the result.

Ouch, this is terrible.  I was so focused on the actual feature that I
forgot to verify that the UI was sane.  I know I only tested using -b ...

--
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services