Обсуждение: lots of errors from fmgr.h when I try to write a C UDF

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

lots of errors from fmgr.h when I try to write a C UDF

От
Anh Pham
Дата:
Hi,
I had Postgres 9.3 setup and run successfully in Eclipse (MacOSX)
I am trying to write a C user-defined function:

#include <fmgr.h>
...
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
...

However, when I tried to compile the code:
gcc -fpic -c ...
It gave me a lot of errors and warnings from fmgr.h:

...
/Users/atpham/workspacecdt/pgsql/src/include/fmgr.h:59:2: error: unknown type name 'MemoryContext'

        MemoryContext fn_mcxt;          /* memory context to store fn_extra in */
        ^
/Users/atpham/workspacecdt/pgsql/src/include/fmgr.h:71:2: error: unknown type name 'Oid'
        Oid                     fncollation;    /* collation for function to use */
        ^
/Users/atpham/workspacecdt/pgsql/src/include/fmgr.h:72:2: error: unknown type name 'bool'
        bool            isnull;                 /* function must set true if result is NULL */
...

Any suggestion where I did it wrong?
Thank you :)

Re: lots of errors from fmgr.h when I try to write a C UDF

От
Tom Lane
Дата:
Anh Pham <atpham.wpi@gmail.com> writes:
> I am trying to write a C user-defined function:

> *#include <fmgr.h>*
> *...*
> *#ifdef PG_MODULE_MAGIC*
> *PG_MODULE_MAGIC;*
> *#endif*
> ...

> However, when I tried to compile the code:
> *gcc -fpic -c* ...
> It gave me a lot of errors and warnings from fmgr.h:

Most Postgres backend header files assume that you've included
postgres.h first ... did you do that?

            regards, tom lane