Adjunto el código fuente como quedó ahora. Observación: aún no solucioné lo de snprintf con strlen etc. Tengo que entenderlo mejor para modificarlo. Saludos cordiales, Yessica
El mié., 18 sept. 2019 a las 5:41, Yessica Brinkmann (< yessica.brinkm...@gmail.com>) escribió: > Mmm bueno, en realidad, el error que pasó fue el de get_distinct. En esa > función fue que le puse el SPI_push y SPI_pop, y ya realiza el SPI_execute. > Pero sigue dándome el mismo error SPI_ERROR_CONNECT en la función > get_columnnames. > En dicha función, si se pone el SPI_push y SPI_pop (probé nomás de onda), > se pierde la conexión con el servidor, supongo que por un desborde de la > pila. Alguna idea de porqué sigue apareciendo SPI_ERROR_CONNECT en la > función get_columnnames? > Saludos cordiales, > Yessica > > El mié., 18 sept. 2019 a las 4:21, Yessica Brinkmann (< > yessica.brinkm...@gmail.com>) escribió: > >> Muchísimas gracias! Ya pasó el error del SPI_connect(). >> Ya retorna SPI_OK_CONNECT con el SPI_push y SPI_pop. >> Saludos cordiales, >> Yessica >> >> El mar., 17 sept. 2019 a las 22:52, Yessica Brinkmann (< >> yessica.brinkm...@gmail.com>) escribió: >> >>> 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 >>>> >>>
funciones.c
Description: Binary data