BUG #3813: PGDLLIMPORT conflict

Поиск
Список
Период
Сортировка
От Nguyen Hoa Phong
Тема BUG #3813: PGDLLIMPORT conflict
Дата
Msg-id 200712121041.lBCAfg9r041486@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #3813: PGDLLIMPORT conflict  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      3813
Logged by:          Nguyen Hoa Phong
Email address:      fong_nh@yahoo.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.

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] BUG #3799: csvlog skips some logs
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #3813: PGDLLIMPORT conflict