Muchísimas gracias! Probaré lo de SPI_push y SPI_pop. Mil gracias por tomarte el tiempo de leer mi código y aún indentarlo. Saludos cordiales, Yessica
El mar., 17 sept. 2019 22:10, Alvaro Herrera <alvhe...@2ndquadrant.com> escribió: > Yessica Brinkmann escribió: > > Buenos días, > > Quisiera hacer una consulta al grupo por favor. > > Alguien ha usado SPI_connect() para conectarse a Postgresql desde un > > programa? > > Saben por si acaso en qué casos da error? > > Hmm, si estás invocando tu función desde otra función que ya hace > SPI_connect, entonces tienes que hacer SPI_push antes de invocar el > SPI_connect, y un SPI_pop después del SPI_finish. Así creas un nuevo > "contexto" para que SPI pueda procesar limpiamente tu consulta. Me > parece que el ejemplo claro es que get_distinct está llamando a > get_columnnames sin un SPI_push. > > Consejo aparte: no necesitas el snprintf con strlen etc; eso es lo que > appendStringInfo() puede hacer por ti en forma más sencilla. > > (Para mostrar código fuente recomiendo ponerlo en un archivo adjunto en > vez de copiar/pegar al mail, porque el programa de mail lo va a > reformatear y queda ilegible. Para poder leer tu código tuve que > pasarlo por pgindent ... va de vuelta como archivo adjunto.) > > Saludos > > -- > Álvaro Herrera https://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >