Обсуждение: [BUGS] BUG #14489: PG_FUNCTION_INFO_V1(funcname) is not bomb proof

Поиск
Список
Период
Сортировка

[BUGS] BUG #14489: PG_FUNCTION_INFO_V1(funcname) is not bomb proof

От
spanu_andrea@yahoo.it
Дата:
The following bug has been logged on the website:

Bug reference:      14489
Logged by:          Spanu Andrea
Email address:      spanu_andrea@yahoo.it
PostgreSQL version: 9.6.1
Operating system:   Windows
Description:

So, I sent few time ago a query for a clarification about the impossibility
to use the palloc() erreport() and company functions in mingw on windows.
Mr. Tom Lane answer me to user MSVC. I used MSVC. I don't like him and he
doesn't like me. After a week lost to understand that a phantomatic error,
were caused from the fact I did not declare a variable at the top of the
function. Endly compile. When run, PostgreSQL could not find the
functions... After several attempts endly I solved. 
I modified (coool I am an HAAACKER):
#define PG_FUNCTION_INFO_V1(funcname) \
extern Datum funcname(PG_FUNCTION_ARGS); \
extern PGDLLEXPORT const Pg_finfo_record *
CppConcat(pg_finfo_,funcname)(void); \
const Pg_finfo_record * \
CppConcat(pg_finfo_,funcname) (void) \
{ \
    static const Pg_finfo_record my_finfo = { 1 }; \
    return &my_finfo; \
} \
extern int no_such_variable

TO :
#define PG_FUNCTION_INFO_V1(funcname) \
extern PGDLLEXPORT Datum funcname(PG_FUNCTION_ARGS); \
extern PGDLLEXPORT const Pg_finfo_record *
CppConcat(pg_finfo_,funcname)(void); \
const Pg_finfo_record * \
CppConcat(pg_finfo_,funcname) (void) \
{ \
    static const Pg_finfo_record my_finfo = { 1 }; \
    return &my_finfo; \
} \
extern int no_such_variable

I declared PGDLLEXPORT also the declaration of my function.
Now works. In fact I don't really know if some weird setting should be done
in MSVC, because mingw didn't throw me any exception... but, I mean... I
would just let you to know, that there is some work to do.


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs