On 9/10/2019 9:04 AM, Yessica Brinkmann wrote:
Buenas tardes,
Hola,
Que versión de postgresql estas usando ? Estoy súper oxidado con C, no
seré rápido pero puedo pegarla una mirada ( justo estoy de vacaciones
entre trabajos este mes ).
Tengo una función llamada get_columnames que retorna los nombres de
las columnas de una tabla, pasándole los números de los atributos.
Realmente ya pensé muchísimo, pero no comprendo porqué pero la función
falla luego de la ejecución de la expresión:
appendStringInfo (& cols, "% s a.attnum =% d", (i> 0? "OR": ""),
idxcd-> varattno [i]);
El error me aparece solamente cuando se ingresa al ciclo:
foreach (cell, candidates) / * foreach cell in candidates * /
más de una vez, es decir, cuando se tiene más de un índice candidato.
Si se ingresa al ciclo solo una vez, la función trabaja correctamente.
El error que me aparece es que la conexión al servidor PostgreSQL
directamente se pierde. Probé que el error ocurre en esa sentencia,
imprimiendo algunos valores.
El error que me aparece es el siguiente:
The connection to the server was lost. Attempting reset: Failed.
Adjunto el código fuente de la función (función.c) y el archivo de log
con la salida de las últimas ejecuciones.
Aclaro que el ciclo foreach para el lenguaje c está definido en
#include "nodes / pg_list.h"
Les pido mil disculpas por mis consultas recurrentes sobre estos
temas, pero es que realmente estoy estancada ahora mismo con esto y
nosé cómo avanzar. Y este es el único grupo donde encuentro ayuda.
Agradeceré mucho una ayuda por favor.
Saludos cordiales,
Yessica Brinkmann