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.
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?. |