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
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: Valgrind failures caused by multivariate stats patch
Следующее
От: Andres Freund
Дата:
Сообщение: Re: WIP: [[Parallel] Shared] Hash