Re: ECPG failure on BF member Vaquita (Windows Vista)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: ECPG failure on BF member Vaquita (Windows Vista)
Дата
Msg-id 26715.1177608942@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: ECPG failure on BF member Vaquita (Windows Vista)  (Michael Meskes <meskes@postgresql.org>)
Ответы Re: ECPG failure on BF member Vaquita (Windows Vista)
Список pgsql-hackers
Michael Meskes <meskes@postgresql.org> writes:
> Having spend countless hours debugging this stuff I fully agree with
> you. It's not just ECPGget_variable though. I also had to inline
> create_statement.

AFAICS you do not need to inline create_statement.  The risk factor
is where you call a routine that does something with a va_list, and
then you want to do something else (other than va_end) with that va_list
after it returns.  The one use of create_statement doesn't do that,
hence no problem.  (We know this works, because stringinfo.c does it.)

BTW, I think there is a small bug there: you fail to call va_end() in the
failure path.  I'm not sure if there are any modern machines where
va_end() isn't a no-op, but nonetheless the code isn't meeting the spec.
        regards, tom lane


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

Предыдущее
От: "Mark Wong"
Дата:
Сообщение: Re: ECPG failure on BF member Vaquita (Windows Vista)
Следующее
От: Gregory Stark
Дата:
Сообщение: psql default options