| From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
|---|---|
| To: | Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com> |
| Cc: | Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Re: SPI_connect |
| Date: | 2019-09-18 02:10:11 |
| Message-ID: | 20190918021011.GA23895@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
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 |
|---|---|---|
| f.c | text/x-csrc | 10.1 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Yessica Brinkmann | 2019-09-18 02:52:00 | Re: SPI_connect |
| Previous Message | Enrique Herrera Noya | 2019-09-18 01:41:09 | Re: SPI_connect |