Patches do not apply cleanly. Part 1 gets: error: patch failed: src/test/regress/parallel_schedule:89 error: src/test/regress/parallel_schedule: patch does not apply
There is still the useless file, ok it is removed by part2. Could have been just one patch...
parallel_schedule failed because I hadn't rebased recently enough.
git format-patch did us no favors there. New patch is redone as one commit.
ISTM that PQExpBuffer is partially a memory leak. Something should need to be freed?
I copied that pattern from somewhere else, so yeah, I duplicated whatever leak was there. Fixed.
I think that you should use appendPQExpBufferChar and Str instead of relying on the format variant which is probably expensive. Something like:
if (num_options > 0) append...Char(buf, ' '); append...Str(buf, ...);
All flavors of appendPQExpBuffer*() I can find have a const *char format string, so no way to append a naked string. If you know differently, I'm listening. Not fixed.
is_true_boolean_expression: "return (success) ? tf : false;" Is this simply: "return success && tf;"?
Neat. Done.
Some functions have opt1, opt2, but some start at opt0. This does not look too consistent, although the inconsistency may be preexisting from your patch. Basically, there is a need for some more restructuring in "command.c".
It is pre-existing. Maybe this patch will inspire someone else to make the other more consistent.