Re: The connection to the server was lost. Attempting reset: Failed.

From: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
To: Alban Hertroys <haramrae(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: The connection to the server was lost. Attempting reset: Failed.
Date: 2019-10-10 16:38:07
Message-ID: CABrYqSOvS7_j+gR+15FKSiwqXGb+wWsRGt0jjZMavrzj0vKpjg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thank you so much for your answer. I will be testing the indicated and then
I give you return.
Best regards,
Yessica Brinkmann

El jue., 10 oct. 2019 a las 13:15, Alban Hertroys (<haramrae(at)gmail(dot)com>)
escribió:

>
> > On 10 Oct 2019, at 17:55, Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
> wrote:
> >
> > I really thought a lot, but I don't understand why but the function
> fails after the expression is executed:
> > appendStringInfo (& cols, "% s a.attnum =% d", (i> 0? "OR": ""), idxcd->
> varattno [i]);
> > The error appears only to me when entering the cycle:
> > foreach (cell, candidates) / * foreach cell in candidates * /
> > more than once, that is, when you have more than one candidate index. If
> the cycle is entered only once, the function works correctly.
> > The error that appears to me is that the connection to the PostgreSQL
> server is directly lost. I proved that the error occurs in that statement,
> printing some values.
>
> There is probably an error in the Postgres log-file providing you more
> info.
>
> That said, at least the below bit in your code is dangerous:
>
> foreach( cell, candidates ) /* foreach cell in candidates */
> {
>
> idxcd = (IndexCandidate*)lfirst( cell );
>
> if( !idxcd->idxused )
> continue;
>
> if (idxcd!=NULL)
> {
>
>
> You should at least check for NULL before referencing an attribute of that
> structure. Personally, I would invert the test like so (and then move it
> before the idxused test:
>
> if (idxcd == NULL) {
> elog( INFO, "idxcd IS NULL" );
> continue; /* Or is that fatal enough to break instead? */
> )
>
> if (!idxcd->idxused)
> continue;
>
>
>
> Alban Hertroys
> --
> There is always an exception to always.
>
>
>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Francisco Olarte 2019-10-10 16:46:02 Re: SELECT d02name::bytea FROM ... && DBI::Pg
Previous Message Yessica Brinkmann 2019-10-10 16:33:22 Re: The connection to the server was lost. Attempting reset: Failed.