From: | Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> |
---|---|
To: | exclusion(at)gmail(dot)com, PostgreSQL mailing lists <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 02:56:08 |
Message-ID: | CAPmGK16Te7mLsxJ6yaPmJy_qFdmXEmqegxXm4sNQRprYsxtmfg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
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.
Best regards,
Etsuro Fujita
Attachment | Content-Type | Size |
---|---|---|
fix-postgres_fdw-assertion.patch | application/octet-stream | 3.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2021-01-14 04:30:24 | Re: BUG #16807: Assert failed in postgres_fdw/estimate_path_cost_size with an empty foreign table |
Previous Message | Tom Lane | 2021-01-14 00:16:39 | Re: BUG #16824: Planner chooses poor path on query with Merge Join and pagination |