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.brinkm...@gmail.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.brinkm...@gmail.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.marc...@gmail.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.brinkm...@gmail.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 (<
>>>> alvhe...@2ndquadrant.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
>>>>>
>>>>

Reply via email to