Re: SPI_connect

From: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Enrique Herrera Noya <enrique(dot)herreranoya(at)gmail(dot)com>, Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: SPI_connect
Date: 2019-09-18 21:07:33
Message-ID: CABrYqSMHObe8Qbw1qFCZs3R+rfrH9x=AwTNDaoZM2utZeBqXUg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas tardes,
Realmente no me funciona. Me vuelve a dar el mismo error, Spi_error_connect
en ambas funciones. Si bien, ahora ya no se llaman más de una función a la
otra. Tanto get_ndistinct como get_columnnames ya son independientes, como
se ve en el archivo funciones_modif.c.
Y también ya probé el PG_TRY();, PG_CATCH(); y PG_END_TRY(); para hacerlo
igual a la llamada del save_advice( List* candidates ) desde la función
manejadora. Por si eso haya causado algún problema.
Agradeceré mucho una ayuda por favor.
Saludos cordiales,
Yessica

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

> 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(dot)brinkmann(at)gmail(dot)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(dot)brinkmann(at)gmail(dot)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 <folarte(at)peoplecall(dot)com>
>>> escribió:
>>>
>>>> Yessica:
>>>>
>>>> On Tue, Sep 17, 2019 at 9:20 PM Yessica Brinkmann
>>>> <yessica(dot)brinkmann(at)gmail(dot)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.
>>>>
>>>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2019-09-18 21:23:28 Re: SPI_connect
Previous Message Yessica Brinkmann 2019-09-18 17:53:58 Re: SPI_connect