Re: [Pgsql-ayuda] Usando C++ ?

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"

In response to

Browse pgsql-es-ayuda by date

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