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 >>>>> >>>>