[Pgsql-ayuda] Funcion con setof + libpq

Carmen Gloria Sepulveda Dedes csepulveda@atichile.com
Thu, 25 Sep 2003 11:56:27 -0400


Hola nuevamente.

Tengo la siguiente situacion.

1.- Una tabla T1

2.- Una funcion del tipo:

"create function select_t1( ... )
Returns setof T1 As
'
Select * from T1 ....
' LANGUAGE SQL;

3.- Un programa en C que se conecta a la bd usando libpq
que hace lo siguiente:

......
char      query_string[256];
PGresult  *res;

sprintf(query_string, "SELECT SELECT_T1(  ...  )",  ... );

res = PQexec(pconn, query_string);

if (PQresultStatus(res) != PGRES_TUPLES_OK)
{
      printf("Error en select:  %s\n", PQresultErrorMessage(res));
      PQclear(res);
      PQfinish(pconn);
      return -1;
}
......

El problema es que al ejecutar el programa me da error, y
lo que se imprime es lo siguiente:

Error en select:  ERROR:  Cannot display a value of type RECORD

Al hacer este mismo select desde psql obtengo el mismo error.

La pregunta es:  Hay alguna otra forma de hacer esto mismo que no
de este error?? o estoy haciendo algo mal con esto??
(necesito retornar todas las columnas de una fila de la tabla)

Saludos y muchas gracias por sus respuestas.

CGS.