From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Cuevas Luis <lcuevas_br(at)yahoo(dot)com> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] Usando C++ ? |
Date: | 2004-01-07 18:56:07 |
Message-ID: | 20040107185607.GA17824@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Wed, Jan 07, 2004 at 06:32:35AM -0800, Cuevas Luis wrote:
> ?lvaro gracias por tu respuesta.
> 1. Exactamente la idea es crear una funci?n con algo
> escrito en C++.
Entiendo que En principio se puede usar una funcion escrita en C++ en un
CREATE FUNCTION. El problema es que el compilador (linker?) cambia el
nombre del simbolo al compilar (si programas en C++ debes saber el
motivo). Esto significa que a CREATE FUNCTION tienes que pasarle el
nombre que el linker le puso al simbolo de la funcion. Supongo que
puedes obtener esta informacion usando nm(1).
En C esto es muy sencillo (nombre del simbolo == nombre de la funcion)
porque no hay overloading, ni clases, ni namespaces, etc.
No he hecho mucho en C++ asi que no se bien la aplicabilidad de todo
esto; ni siquiera estoy seguro que lo de "symbol name mangling" sea
cierto (se me acaba de ocurrir, aunque me parece haber visto mencion en
alguna parte)
> ?lvaro dime si se mantiene el NO de tu anterior
> mensaje para ver entonces que puedo inventarme.
Si, sigue siendo no. Quizas te sirva de algo saber que puedes crear tus
propios tipos; mira la referencia de CREATE TYPE para empezar.
Necesitas definir funciones de entrada y salida, operadores, si quieres
indexarlo necesitaras una clase de operadores (opclass), etc.
O quizas un simple dominio (CREATE DOMAIN) sirva ...
> 3. Tengo otra pregunta, puedo utilizar el polimorfismo
> desde un supertipo. Similar a como lo hace C++. ???
Polimorfismo? No entiendo a que te refieres (se lo que es el
polimorfismo pero no veo como aplicarlo). Un ejemplo?
> 4. Conocen de alguna documentaci?n sobre
> "Object-Relational Features Postgres".
Lo de OR en ORDBMS significa que los RDBMS soportan tipos de datos que
no son int, varchar(), boolean; por ej. que soportan objetos grandes y/o
binarios, que soportan arrays, que soportan indexacion de todo esto, que
hay herencia de clases (==> tablas; aunque con el estado actual de
Postgres no te recomendaria usar herencia de tablas). No es
"orientacion a objetos" ni mucho menos.
No recuerdo haber visto un articulo acerca de esto, pero quizas buscando
en techdocs.postgresql.org encuentres algo que te sirva.
Suerte,
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La naturaleza, tan frágil, tan expuesta a la muerte... y tan viva"
From | Date | Subject | |
---|---|---|---|
Next Message | Carmen Gloria Sepulveda Dedes | 2004-01-07 19:02:25 | [Pgsql-ayuda] Postgresql sobre 64 bits. |
Previous Message | Cuevas Luis | 2004-01-07 14:32:35 | Re: [Pgsql-ayuda] Usando C++ ? |