Re: query asincronico y SPI

From: Mario Soto Cordones - Venezuela <msotocl(at)gmail(dot)com>
To: Mario Soto Cordones - Venezuela <msotocl(at)gmail(dot)com>, Lista postgreslq Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: query asincronico y SPI
Date: 2005-09-24 17:55:07
Message-ID: e9b17cde050924105540f34484@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

OK, el unico problema es que yo utilizo en mis funciones hechas en C,
SPI , y las llamo desde cualquier cliente, no utilizo libpq, lo que me
lleva a la pregunta original, pero aun asi no entiendo como funciona
el LISTENER y he leido toda la documentacion tanto del LISTENER como
el NOTIFY, solo se que esto es lo que necesito, pero aun no se como
implementarlo:

Por ejemplo:

mi funcion hecha en C, con SPI se llama actualiza.so,, para llamarla
lo que hago simplemente desde el cliente es select * from actualiza();

Y la funcion ya sabe lo que debe hacer., Pero sigo sin entender como
llamar esta funcion desde un LISTENER.

Gracias nuevamente.

El 23/09/05, Alvaro Herrera<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> On Fri, Sep 23, 2005 at 05:24:45PM -0400, Mario Soto Cordones - Venezuela wrote:
> > He leido la documentacion oficial de LISTEN , pero creo que es muy
> > ambigua, realmente no entiendo como implementar un LISTE, alguien lo
> > ha hecho antes o alguien sabe de alguien que haya escrito algo
> > respecto este tema ya que la documentacion oficial tiene solo una
> > pagina y 2 para el NOTIFY
>
> Simplemente escoge un string cualquiera y usa el mismo para ambos. O
> sea el trigger debe hacer "NOTIFY foo" y el proceso que actualiza la
> vista hace "LISTEN foo".
>
> Si el "listener" esta hecho en C con libpq, simplemente debes hacer un
> loop y en cada ciclo llamas a la funcion PQnotifies(). Si hay algo es
> porque te mandaron una notificacion, si no hay nada duermes un rato y
> sigues con el loop:
>
> http://developer.postgresql.org/docs/postgres/libpq-notify.html
>
> Observa que al final de esa pagina se indica como construir un loop con
> la funcion select(), de manera que ni siquiera es necesario que te
> pongas a "dormir" en cada ciclo. Buena! No sabia eso.
>
> --
> Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4
> "There was no reply" (Kernel Traffic)
>

--
cordialmente,

Ing. Mario Soto Cordones

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis Rodrigo Gallardo Cruz 2005-09-24 18:56:36 Re: query asincronico y SPI
Previous Message Alvaro Herrera 2005-09-24 15:24:20 Re: Restringir ejecución de Consultas y Funciones.