Clean up command argument assembly Several commands internally assemble command lines to call other commands. This includes initdb, pg_dumpall, and pg_regress. (Also pg_ctl, but that is different enough that I didn't consider it here.) This has all evolved a bit organically, with fixed-size buffers, and various optional command-line arguments being injected with confusing-looking code, and the spacing between options handled in inconsistent ways. Clean all this up a bit to look clearer and be more easily extensible with new arguments and options. We start each command with printfPQExpBuffer(), and then append arguments as necessary with appendPQExpBuffer(). Also standardize on using initPQExpBuffer() over createPQExpBuffer() where possible. pg_regress uses StringInfo instead of PQExpBuffer, but many of the same ideas apply.
Reviewed-by: Heikki Linnakangas <hlinn...@iki.fi> Discussion: https://www.postgresql.org/message-id/flat/16d0beac-a141-e5d3-60e9-323da75f4...@eisentraut.org Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/cccdbc5d95aca276789bbe28783f3e06f9a3ba9c Modified Files -------------- src/bin/initdb/initdb.c | 56 ++++++++++++++++++++++++------------------- src/bin/pg_dump/pg_dumpall.c | 27 +++++++++++---------- src/test/regress/pg_regress.c | 26 ++++++++++++-------- 3 files changed, 62 insertions(+), 47 deletions(-)