Re: SPI_connect

From: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
To:
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: SPI_connect
Date: 2019-09-19 06:58:32
Message-ID: CABrYqSP_GVOYtkNGmtpy8KAo3W5qQpTgXyUk6moVAiaSbRM9gw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos días,
Bueno, estuve haciendo algunas pruebas y me di cuenta, releyendo la
documentación, de que SPI_ERROR_CONNECT aparece no precisamente cuando hay
un error en la conexión, sino cuando ya existe una conexión. Volví a
verificar, y me di cuenta de que el lugar desde el cual yo estaba llamando
a la función get_columnnames era una parte del código en la que existía una
conexión abierta. Entonces lo que hago ahora es llamar a mi función
get_columnames y realizar mi conexión después del otro SPI_finish(). Y
ahora por lo menos ya se conecta, pasa ese if del if( SPI_connect() ==
SPI_OK_CONNECT ). Después tengo otro error ya nuevo que dice The connection
to the server was lost. Attempting reset: Failed, según el cual la conexión
con el servidor se pierde. Y bueno, eso estoy tratando de solucionar ahora
pero esa ya es otra historia y si tengo consultas con respecto a eso creo
que ya tengo que crear otro hilo de mails después, porque mi duda con el
SPI_connect() ya se resolvió, ya pasa ese if ahora. Voy a procurar lo más
posible de resolverlo yo sola, y si tengo dudas después consulto con otro
hilo.
Muchísimas gracias a todos por la ayuda.
Saludos cordiales,
Yessica

El mié., 18 sept. 2019 a las 19:03, Yessica Brinkmann (<
yessica(dot)brinkmann(at)gmail(dot)com>) escribió:

> Buenas noches,
> Bueno, en realidad ahora no sé porqué fallaría. Ya modifiqué las funciones
> y ya no tengo SPI_connect() dentro de bucles for. Adjunto el código fuente
> con las funciones actualizadas. Me sigue dando el mismo error,
> SPI_ERROR_CONNECT.
> Saludos cordiales,
> Yessica
>
> El mié., 18 sept. 2019 a las 17:50, Yessica Brinkmann (<
> yessica(dot)brinkmann(at)gmail(dot)com>) escribió:
>
>> Entiendo, muchas gracias por mirar mi log. Y si, la tabla t existe. Es
>> una tablita de prueba básica para probar al menos básicamente si funciona
>> todo, y después estaría haciendo estructuras con más significado. Y si,
>> justamente creo que las sentencias no se terminan de formar adecuadamente
>> porque hay problemas con el código c que las forma.
>> Muchísimas gracias.
>> Saludos cordiales,
>> Yessica
>>
>> El mié., 18 sept. 2019 a las 17:39, Juan (<smalltalker(dot)marcelo(at)gmail(dot)com>)
>> escribió:
>>
>>> Yésica
>>>
>>> Al ver el log,me queda la impresión ,de que tu error, es de más básico
>>> nivele,y no se encuentran en el código c.
>>> La tabla t existe? No vi tu código pero hay que chequear sentencias de
>>> SQL,que quieres enviar como query.
>>> Solo eso pude ver
>>> Salu2
>>>
>>> El mié., 18 de sep. de 2019 6:32 PM, Yessica Brinkmann <
>>> yessica(dot)brinkmann(at)gmail(dot)com> escribió:
>>>
>>>> Entiendo. El tema es que por cada índice candidato del Index Adviser
>>>> (que tiene su tabla/columnas asociados) hago una llamada al SPI_connect().
>>>> Por eso es el bucle. Un índice candidato es aquel que ha sido
>>>> preseleccionado para ser índice pero aún no ha sido elegido
>>>> definitivamente.
>>>> Por si sirva de algo adjunto el log del Postgres luego de mi última
>>>> ejecución del Index Adviser de recién.
>>>> Yo estaré mirando el log también a ver si me ayuda.
>>>> Saludos cordiales,
>>>> Yessica
>>>>
>>>> El mié., 18 sept. 2019 a las 17:23, Alvaro Herrera (<
>>>> alvherre(at)2ndquadrant(dot)com>) escribió:
>>>>
>>>>> Yessica Brinkmann 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?
>>>>>
>>>>> Igual es raro que llames a SPI_connect()/SPI_finish() múltiples veces
>>>>> en
>>>>> un bucle for(). Yo habría puesto una sola llamada al principio y al
>>>>> final de la función. Ahora, la verdad es que sin más contexto (el
>>>>> código completo de la función SQL que se ejecuta) no es posible más
>>>>> diagnóstico.
>>>>>
>>>>> Saludos
>>>>>
>>>>> --
>>>>> Álvaro Herrera https://www.2ndQuadrant.com/
>>>>> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>>>>>
>>>>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yessica Brinkmann 2019-09-23 13:39:59 SPI_tuptable aparece como null
Previous Message Yessica Brinkmann 2019-09-18 23:03:16 Re: SPI_connect