BUG #3813: PGDLLIMPORT conflict

From: "Nguyen Hoa Phong" <fong_nh(at)yahoo(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #3813: PGDLLIMPORT conflict
Date: 2007-12-12 10:41:42
Message-ID: 200712121041.lBCAfg9r041486@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 3813
Logged by: Nguyen Hoa Phong
Email address: fong_nh(at)yahoo(dot)com
PostgreSQL version: 8.3-beta4
Operating system: Windows
Description: PGDLLIMPORT conflict
Details:

Because of PGDLLIMPORT conflict and so to use palloc we must to declare
(copydir.c):

/*
* On Windows, call non-macro versions of palloc; we can't reference
* CurrentMemoryContext in this file because of PGDLLIMPORT conflict.
*/
#if defined(WIN32) || defined(__CYGWIN__)
#undef palloc
#undef pstrdup
#define palloc(sz) pgport_palloc(sz)
#define pstrdup(str) pgport_pstrdup(str)
#endif
...

But it's the same if we use the other functions of system, such as, SPI
variables (SPI_result, SPI_tuptable, SPI_lastoid, SPI_processed,...),...
So I think that maybe we should have more one define for this:

#if defined(WIN32) || defined(__CYGWIN__)
#define PGDLLIMPORT __declspec (dllexport)
#endif

And so, the using the relations functions (palloc,..) are normal.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2007-12-12 17:00:29 Re: BUG #3813: PGDLLIMPORT conflict
Previous Message Tom Lane 2007-12-11 15:45:22 Re: [HACKERS] BUG #3799: csvlog skips some logs