Así quedarían las funciones, como en el archivo adjunto, en caso de hacerlas por separado...para que no se llame a las funciones una desde la otra. Sin embargo, ahora me di cuenta también de que save_advice( List* candidates ) al ser llamada en la función principal manejadora, usa PG_TRY();, PG_CATCH(); y PG_END_TRY(); para manejar errores, talvez esa parte me hace falta a mí también para que las funciones get_ndistinctic y get_columnnames puedan tener cada una su manejo de error. Porque yo estaba llamándolas directamente, como se puede ver en el código fuente adjunto. Voy a estar probando de esta manera también para ver si es por esto que me está dando el Spi_error_connect. Muchas gracias y saludos, Yessica
El mié., 18 sept. 2019 a las 12:17, Yessica Brinkmann (< yessica.brinkm...@gmail.com>) escribió: > Ya probé también sacar la llamada a get_columnnames de la función > get_ndistintic y hacer ambas llamadas a funciones por separado, para que no > se llame a una de las funciones desde la otra. Y le saqué el SPI_push y > SPI_pop. Pero en ese caso igual obtengo el error Spi_error_connect en ambas > funciones. Estaba pensando también en modificar el código de tal manera que > se hagan ambos Selects en una misma conexión, pero creo que igual me daría > el error este de Spi_error_connect, ya que al hacer llamadas a funciones > por separado, igual aparece. > Saludos cordiales, > Yessica > > El mié., 18 sept. 2019 6:50, Yessica Brinkmann < > yessica.brinkm...@gmail.com> escribió: > >> Muchas gracias por la respuesta! >> El log ya lo encontré. Estaba en /home/postgres >> Y ahora mismo, el error del SPI_connect me está dando en la segunda >> función. Antes me daba error en las dos funciones. Pero después de que el >> sr. Álvaro Herrera me recomendó usar SPI_push y SPI_pop ya pasa al >> SPI_execute en la primera función. >> Saludos cordiales, >> Yessica >> >> >> El mié., 18 sept. 2019 6:31, Francisco Olarte <fola...@peoplecall.com> >> escribió: >> >>> Yessica: >>> >>> On Tue, Sep 17, 2019 at 9:20 PM Yessica Brinkmann >>> <yessica.brinkm...@gmail.com> wrote: >>> > Estuve haciendo algunas verificaciones y lastimosamente pude darme >>> cuenta de que luego de ejecutar el Index Adviser básicamente no me aparece >>> nada en el directorio /var/log/postgresql, es decir dicho directorio >>> aparece vacío, sin ningún archivo. Realmente veo que dicho directorio >>> existe, sin embargo luego de levantar el servidor Postgresql y ejecutar el >>> Index Adviser me aparece vacío, no hay allí ningún archivo de log. No sé a >>> qué se deberá esto realmente. Como les comentaba, no soy buena usando >>> Linux, pero me veo obligada a usarlo. >>> >>> Esto no es problema de Linux, el mismo problema lo tendrias en windows >>> o cualquier otro sistema. Si NO hay log al levantar el servidor en un >>> directorio es que o tienes programado el servidor para no usar log o >>> no lo manda a ese directorio. Mira la configuracion que estas usando. >>> >>> Es IMPOSIBLE que te podamos decir como dado que no sabemos que haces >>> para "levantar el servidor de Postgresql" o "ejecutar el Index >>> Adviser". Ni sabemos como lo has instalado, ni nada por el estilo. Ahi >>> da igual que seas Linux, BSD, Windows o CP/M, poco te van a poder >>> decir. Postgres es un sistema complejo, y lo ejecutes en SO >>> sencillitos como Linus o complicados como Windows hay muchas formas de >>> hacerlo, sin saber un minimo no se te puede orientar mucho. >>> >>> .... >>> >>> > Finalmente, copio el código fuente de la función que contiene el >>> Insert que funciona con el SPI_connect(), y a continuación, las dos >>> funciones que yo estoy intentando escribir, que tienen Selects, y con las >>> cuales obtengo el SPI_ERROR_CONNECT. >>> >>> Tras copiarlas, reindentarlas y mirarlas un poco veo una diferencia >>> clara, la primera funcion hace un connect-finish, la segunda tiene eso >>> en un bucle. El error de spi_connect te da en la primera ejecucion o >>> en la segunda? ( lo digo porque he mirado la doc y no dice nada de si >>> se puede hacer c-f-c-f... o solo c-f ). >>> >>> Francisco Olarte. >>> >>
funciones_modif.c
Description: Binary data