From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | "Mario A(dot) Soto Cordones" <mario_soto(at)venezolanadeavaluos(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con SPI |
Date: | 2004-10-26 12:50:35 |
Message-ID: | 20041026125035.GD4378@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Tue, Oct 26, 2004 at 07:34:54AM -0400, Mario A. Soto Cordones wrote:
Hola,
> ya vi el ejemplo y la documentación pero sinceramente no entiendo ya que
> este ejemplo sólo permite hacer consultas para 4 campos de una tabla y aún
> no he podido encontrar donde esto se cambia para poder yo utilizar este
> ejemplo. Yo sólo quiero poder hacer por ejemplo un "select * from
> tabla_pequeña" y que me retorne el resultado.
Bueno, nadie dijo que trabajar directamente con SPI era sencillo :-)
Tienes experiencia programando en C? En ese caso deberias poder
arreglartelas leyendo la documentacion de SPI en el manual.
De lo contrario, necesitas buscar a alguien que programe en C ;-)
Los pasos fundamentales para esa clase de cosas son SRF_IS_FIRSTCALL,
SRF_FIRSTCALL_INIT, SRF_PERCALL_SETUP, SRF_RETURN_NEXT, y
SRF_RETURN_DONE. Ademas necesitas comunicarte con la conexion SPI, lo
cual se haria con SPI_connect(), SPI_execute(), SPI_getvalue() y
SPI_finish().
Adorna todo eso con manejo apropiado de contextos de memoria usando
MemoryContextSwitchTo() y control de errores con ereport(), y ya.
Lee la seccion "Returning Rows (Composite Types) from C-Language
Functions" en el manual, en capitulo "Extending SQL".
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"XML!" Exclaimed C++. "What are you doing here? You're not a programming
language."
"Tell that to the people who use me," said XML.
From | Date | Subject | |
---|---|---|---|
Next Message | Fernando San Martín Woerner | 2004-10-26 13:17:28 | shared buffers |
Previous Message | Alvaro Herrera | 2004-10-26 12:37:38 | Re: pg_dumpall |