Re: SPI_connect

From: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: SPI_connect
Date: 2019-09-18 09:54:23
Message-ID: CABrYqSMwqtCvDyL5CJXrMNF=Pp3Wz6wpEdRkVEnVwzpnMiUTJw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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(dot)brinkmann(at)gmail(dot)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(dot)brinkmann(at)gmail(dot)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(dot)brinkmann(at)gmail(dot)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 <alvherre(at)2ndquadrant(dot)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 Content-Type Size
funciones.c application/octet-stream 7.1 KB

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Olarte 2019-09-18 10:30:42 Re: SPI_connect
Previous Message Yessica Brinkmann 2019-09-18 09:41:24 Re: SPI_connect