Re: BUG #16807: Assert failed in postgres_fdw/estimate_path_cost_size with an empty foreign table

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: etsuro(dot)fujita(at)gmail(dot)com
Cc: exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16807: Assert failed in postgres_fdw/estimate_path_cost_size with an empty foreign table
Date: 2021-01-14 04:30:24
Message-ID: 20210114.133024.160907178608761711.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

At Thu, 14 Jan 2021 11:56:08 +0900, Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> wrote in
> On Wed, Jan 6, 2021 at 12:15 PM Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> wrote:
> > Reproduced. Will look into this closely.
>
> If foreignrel->tuples is set to zero, the retrieved_rows estimate will
> also be set to zero, so the assertion pointed out upthread is not
> correct. I think I mistakenly assumed that foreignrel->tuples would
> have been forced to be at least one row, like foreignrel->rows, before
> we get to estimate_path_cost_size(), which is not correct.
>
> To fix, I think it would be better to adjust the assertion accordingly
> than removing it, since it was added to make sure that the
> retrieved_rows estimate is set to a sensible value. Attached is a
> patch for that. I added a simpler test case as well.

FWIW I drew the same conclusion.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2021-01-14 04:49:49 Re: BUG #16577: Segfault on altering a table located in a dropped tablespace
Previous Message Etsuro Fujita 2021-01-14 02:56:08 Re: BUG #16807: Assert failed in postgres_fdw/estimate_path_cost_size with an empty foreign table