Обсуждение: using c++ for functions

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

using c++ for functions

От
David GROSS
Дата:
Hello,

    I would like to know if it is possible to use C++ code
to define new functions in Postgres, something like :

    create function ... returns ... as '...' language 'c++';

It works very well for C functions, but with C++ (on unix/linux
systems), postgres
can't find the function in the symbol table.

Does anyone knows ?

Thanks,

David
dgross@lri.fr



Re: [INTERFACES] using c++ for functions

От
"Thomas G. Lockhart"
Дата:
>     I would like to know if it is possible to use C++ code
> to define new functions in Postgres...
> It works very well for C functions, but with C++ (on unix/linux
> systems), postgres can't find the function in the symbol table.

I don't know for sure, but I would suspect that C++ name mangling (or
something related) might be getting in the way. Have you looked at the
shared library with "nm" to see what the symbols actually are?

                     - Tom

Re: [INTERFACES] using c++ for functions

От
Goran Thyni
Дата:
David GROSS wrote:
>
> Hello,
>
>     I would like to know if it is possible to use C++ code
> to define new functions in Postgres, something like :
>
>     create function ... returns ... as '...' language 'c++';
>
> It works very well for C functions, but with C++ (on unix/linux
> systems), postgres
> can't find the function in the symbol table.
>

David,

C++ does many things implicitely (behind your back)
and is therefore not suitable for embedded code
such as device drivers och loadable function.

Besides, I can see no reasons to choose C++ over C for
small things like this (except political, of course).
(Flames by private mail, please)

Hopefully we will be able to use PL/pgSQL or PL/Perl
for this in future releases of pgsql.

    best regards,
        Göran.