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