Florian G. Pflug wrote: > Andreas Pflug wrote: > >Tom Lane wrote: > >>Jacob Rief <[EMAIL PROTECTED]> writes: > >> > >>>I tried to write a trigger using C++. > >>> > >>That is most likely not going to work anyway, because the backend > >>operating environment is C not C++. If you dumb it down enough > >>--- no exceptions, no RTTI, no use of C++ library --- then it might > >>work, > >I can confirm that it does work this way. > > I've written an aggregate function that uses c++ stl hashes, and it > seems to work pretty well. I'd think that using exceptions should be > fine, as long as you make sure to _always_ catch any exception that > might be thrown inside your own c++ code, and don't let it propagate > into backend code. STL allows you to specify custom allocator classes > as template parameters to hash, vector and the like. You can use that > to let STL allocate memory from the correct memory context.
What happens if Postgres raises an elog(ERROR) in the code you're catching exceptions in? Is it propagated outwards? -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org