Re: Postgres - C++

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Miguel Angel <mvillagomez(at)sayab(dot)com(dot)mx>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Postgres - C++
Date: 2006-03-23 23:30:50
Message-ID: 20060323233050.GG8481@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Miguel Angel escribió:
>
> Quiero usar el postgres para escribir procedimientos de c++ en el.
> O sea correr una función que por ejemplo(ignora la creatividad
> siguiente...):
>
> Cout<<"Hola Mundo";
>
>
> Pueda correr esta instrucción dentro de postgres.

Ok, entiendo. Eso no esta soportado. Puedes intentarlo, pero el exito
no esta asegurado.

Lo primero que se me ocurre es que compiles el objeto tal como si fuera
un objeto C; lo pones en una biblioteca compartida y lo guardas en
$libdir. Luego creas la funcion usando CREATE FUNCTION normalmente,
_pero_ en lugar de entregarle el nombre real de la funcion, le das el
nombre modificado por el compilador (mangled).

Lo cierto es que, aun cuando eso funcione, hay varias cosas con las que
tendras que tener cuidado. Por ejemplo imagino que seria peligroso usar
excepciones de C++ en tu funcion, porque va a colisionar con el manejo
de excepciones de Postgres que es fundamental (si sucede, corromperas
datos). Con el emplazamiento (alloc) de memoria tambien tendras que
tener mucho cuidado.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Roberto Cesar Najera 2006-03-23 23:48:28 Re: Fw: dato -2.1316282072803e-14
Previous Message Juan Martínez 2006-03-23 23:19:58 Re: ¿Se puede poner condicionales a un insert?.