On Tue, Apr 3, 2012 at 11:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Tue, Apr 3, 2012 at 11:38 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> Possibly we could move assert.c into src/port/ and make it part of
>>> libpgport?
>
>> The trouble is that it calls write_stderr(), which has a non-trivial
>> implementation on Windows that I don't believe will be suitable for
>> front-end code. If we can find a reasonable way to work around that
>> issue then I think that would work.
>
> Well, if we don't have a solution to that problem then it's premature
> to propose making Assert available to frontend code. So my opinion
> is that that idea is too half-baked to be pushing into 9.2 at this
> time. Let's put it on the to-do list instead.
It's more baked than Joachim's existing solution, and I don't favor
punting his whole patch because we don't want to give five minutes of
thought to this problem. The patch may need to be punted for other
reasons, of course.
Maybe we could just stick #ifdef BACKEND in the libpgport code. If
we're in the backend, we write_stderr(). Otherwise we just
fprintf(stderr, ...).
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company