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

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: The connection to the server was lost. Attempting reset: Failed.
Date: 2019-10-10 16:15:06
Message-ID: 0AB1D241-F535-4E95-9D3B-D9AD1090FDAE@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


> 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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Yessica Brinkmann 2019-10-10 16:33:22 Re: The connection to the server was lost. Attempting reset: Failed.
Previous Message Tom Lane 2019-10-10 16:14:18 Re: The connection to the server was lost. Attempting reset: Failed.