Hola:

El problema es que esta función es llamada desde Java, siendo recogida en un resultset dentro del metodo java, y no se como se puede recoger desde java un setof xxxx. Además a estas alturas, con el producto ya en producción, no se yo si la gente de Java va a estar dispuesta a cambiar la forma de obtener los datos.

Alvaro Herrera escribió:
gorka escribió:
Hola listeros

Tengo un pequeño problema con una funcion plpgsql. La funcion tiene 3 parametros de entrada, un integer y dos timestamp. El caso es que dentro de la query con la que devuelvo un refcursor hago un filtro entre los dos parametros timestamps. Ahora me he dado cuenta de que tarda bastante la consulta y he metido un indice por el campo tiemstamp por el que filtro. Hasta ahi todo bien. Cojo la query de la funcion, la ejecuto cambiando los parametros por valores timestamp y tarda, pero un tiempo razonable. Hago lo mismo dentro del procedimiento, poniendo valores timestamp fijos y tarda aproximadamente lo mismo. Pero en cuanto pongo en la funcion los parametros de tipo timestamp, el tiempo se dispara.
Alguien sabe que problema puedo tener??

¿Es realmente necesario que retornes un refcursor?  ¿No sería más
simple hacer que la función retorne el conjunto de resultados?

Te lo comento porque es más sencillo arreglar el problema si la función
es de la segunda forma.


--
TIP 1: para suscribirte y desuscribirte, visita 
http://archives.postgresql.org/pgsql-es-ayuda

Responder a