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
>>>>
>>>

Attachment: funciones.c
Description: Binary data

Reply via email to