Re: \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless)
От | Corey Huinker |
---|---|
Тема | Re: \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless) |
Дата | |
Msg-id | CADkLM=dZt6eJQD1pQ7GXUeP83Ut_N+RaRsCgDj+Cpx_bV=LLsg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: \if, \elseif, \else, \endif (was Re: PSQL commands:\quit_if, \quit_unless) (Fabien COELHO <coelho@cri.ensmp.fr>) |
Список | pgsql-hackers |
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.
v26 attached
v26 attached
Вложения
В списке pgsql-hackers по дате отправления: