Re: ECPG failure on BF member Vaquita (Windows Vista) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: ECPG failure on BF member Vaquita (Windows Vista)
Date
Msg-id 26715.1177608942@sss.pgh.pa.us
Whole thread Raw
In response to Re: ECPG failure on BF member Vaquita (Windows Vista)  (Michael Meskes <meskes@postgresql.org>)
Responses Re: ECPG failure on BF member Vaquita (Windows Vista)  (Michael Meskes <meskes@postgresql.org>)
List 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 by date:

Previous
From: "Mark Wong"
Date:
Subject: Re: ECPG failure on BF member Vaquita (Windows Vista)
Next
From: Gregory Stark
Date:
Subject: psql default options