From: | Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com> |
---|---|
To: | Juan <smalltalker(dot)marcelo(at)gmail(dot)com> |
Cc: | Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Pérdida de conexión al servidor. |
Date: | 2019-10-09 02:39:54 |
Message-ID: | CABrYqSOSwXYy0v-GXNOYZT67J+huG16UeCAMtukWDJEtTMPDyg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muchas gracias por la respuesta. Estuve analizando e investigando sobre la
compilación sin optimizaciones, con symbols y también sobre el uso de gbd.
Muy interesante todo.
Mi consulta es ahora si todo esto se puede aplicar igual si se usa un
Makefile. Porque el Index Adviser viene con un Makefile que se ejecuta para
la compilación. O sea, según leí es más o menos fácil de aplicar todo esto
si voy a compilar desde línea de comandos pero teniendo el Makefile, la
verdad que no sé cómo aplicarlo.
Adjunto el Makefile del Index Adviser.
Saludos cordiales,
Yessica Brinkmann
El mar., 8 oct. 2019 a las 22:56, Yessica Brinkmann (<
yessica(dot)brinkmann(at)gmail(dot)com>) escribió:
> Muchas gracias por la respuesta!
> Voy a estar analizando y luego te doy retorno.
> Saludos cordiales,
> Yessica Brinkmann
>
> El mar., 8 oct. 2019 22:04, Juan <smalltalker(dot)marcelo(at)gmail(dot)com> escribió:
>
>> Hola,
>> Ya que estás con una versión muy vieja seguramente la compilas de
>> sources, 2 recomendaciones quizás 3,
>> 1) compila sin optimizaciones, es largo de contar,pero siempre compilo de
>> sources, -O0. Es el switch al gcc ,elgcc suele ser mucho más moderno, que
>> los sources y las nuevas optimizaciones meten errores
>> 2) compila con symbolos ,el linker suele perder esa info pero es útil a
>> ;la Hora de encontrar problemas..de manera tal que los errores tenag una
>> descripción y número de línea
>> 3) finalmente podes usar gbd para debugging.
>>
>> El 3 requiere cierto expertisse pero es interesante
>>
>> Salu2
>>
>> El mar., 8 de oct. de 2019 9:54 PM, Yessica Brinkmann <
>> yessica(dot)brinkmann(at)gmail(dot)com> escribió:
>>
>>> Agradeceré mucho una ayuda por favor. Realmente no estoy sabiendo cómo
>>> avanzar.
>>> Como comentaba, mi función trabaja para el caso en que se ingresa sólo
>>> una vez al foreach. Pero cuando se ingresa más de una vez, no funciona. Es
>>> decir, cuando se tiene más de un índice candidato, es que me da ese error.
>>> Esto significa que, por ejemplo, para una sentencia tipo Select simple o
>>> que tiene un AND me funciona. Pero para el caso en que la sentencia Select
>>> tiene un OR por ejemplo, no funciona. Porque ya se tiene más de un índice
>>> candidato e ingresa más de una vez al foreach.
>>> Agradeceré muchísimo si alguien me puede ayudar por favor.
>>> Ya pensé muchísimo porqué podría darse el error pero no encuentro un
>>> motivo realmente.
>>> Saludos cordiales,
>>> Yessica Brinkmann
>>>
>>> El mar., 8 oct. 2019 20:05, Yessica Brinkmann <
>>> yessica(dot)brinkmann(at)gmail(dot)com> escribió:
>>>
>>>> Ah y disculpa por favor por la tardanza en contestar. Es que estaba
>>>> aquí cocinando 😀 y no medí el tiempo que había pasado. Y no pensé que me
>>>> contestarían tan pronto.
>>>> Saludos,
>>>> Yessica
>>>>
>>>> El mar., 8 oct. 2019 19:39, Yessica Brinkmann <
>>>> yessica(dot)brinkmann(at)gmail(dot)com> escribió:
>>>>
>>>>> Muchas gracias por la respuesta!
>>>>> Estoy usando Postgresql 8.3.23.
>>>>> Aclaro que uso esa versión porque es compatible con el Index Adviser,
>>>>> el cual estoy modificando para mi tesis de la Universidad.
>>>>> Saludos cordiales,
>>>>> Yessica Brinkmann
>>>>>
>>>>> El mar., 8 oct. 2019 17:15, Horacio Miranda <hmiranda(at)gmail(dot)com>
>>>>> escribió:
>>>>>
>>>>>>
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
Attachment | Content-Type | Size |
---|---|---|
makefile.txt | text/plain | 853 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Horacio Miranda | 2019-10-09 04:21:44 | Re: Pérdida de conexión al servidor. |
Previous Message | Yessica Brinkmann | 2019-10-09 01:56:36 | Re: Pérdida de conexión al servidor. |