Re: Ayuda con SPI

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.

In response to

Browse pgsql-es-ayuda by date

  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