From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Michael Meskes <meskes(at)postgresql(dot)org> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, Mark Wong <markwkm(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: ECPG failure on BF member Vaquita (Windows Vista) |
Date: | 2007-04-26 17:35:42 |
Message-ID: | 26715.1177608942@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Michael Meskes <meskes(at)postgresql(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-04-26 17:36:42 | Re: New version of GENERATED/IDENTITY, was Re: parser dilemma |
Previous Message | Zoltan Boszormenyi | 2007-04-26 17:32:02 | Re: New version of GENERATED/IDENTITY, was Re: parser dilemma |