From: | "German Hohmann" <a(dot)long(dot)way(dot)to(dot)the(dot)top(at)gmail(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com> |
Cc: | "Emiliano Moscato" <moski666(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con stored procedures en C |
Date: | 2008-05-14 16:42:21 |
Message-ID: | 1277299a0805140942t6a51d2b7yffb819f3aed6c5a3@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro,
Desde ya muchas gracias por tu ayuda.
Probamos cambiar los stored procedures a VOLATILE (estaban en IMMUTABLE).
También cambiamos la configuración de "isolation level" de la base de datos
a "serializable" y a "read uncommited", pero sin exito.
Estamos usando el CREATE TEMP TABLE y el INSERT mediante sucesivas llamadas
a la función SPI_execute() y el SELECT final con SPI_cursor_open(), para
recorrer los resultados, sin cerrar la conexión (SPI_finish() ).
Saludos cordiales,
Germán.
El día 14 de mayo de 2008 11:55, Alvaro Herrera <alvherre(at)commandprompt(dot)com>
escribió:
> Emiliano Moscato escribió:
>
> > Y lo que debería traernos los rows de la tabla temporal, no hace más
> que
> > decirnos que la tabla está vacía. Si después hacemos una consulta sobre
> la
> > misma tabla, nos muestra los datos insertados correctamente.
>
> Hmm. ¿Está declarada la función como VOLATILE? Eso debería hacerla
> tomar un nuevo snapshot después de la inserción, con lo cual el SELECT
> debería "ver" esas tuplas. Si hubieras declarado la función como
> IMMUTABLE, entonces habría el efecto que indicas.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-05-14 16:46:17 | Re: Ayuda con stored procedures en C |
Previous Message | Omar Alfredo De la hoz Maestre | 2008-05-14 16:09:03 | Re: charla sobre postgres |