pgsql: postgres_fdw: Fix assertion in estimate_path_cost_size().

Started by Etsuro Fujitaover 5 years ago3 messagescomitters
Jump to latest
#1Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp

postgres_fdw: Fix assertion in estimate_path_cost_size().

Commit 08d2d58a2 added an assertion assuming that the retrieved_rows
estimate for a foreign relation, which is re-used to cost pre-sorted
foreign paths with local stats, is set to at least one row in
estimate_path_cost_size(), which isn't correct because if the relation
is a foreign table with tuples=0, the estimate would be set to 0 there
when not using remote estimates.

Per bug #16807 from Alexander Lakhin. Back-patch to v13 where the
aforementioned commit went in.

Author: Etsuro Fujita
Reviewed-by: Kyotaro Horiguchi
Discussion: /messages/by-id/16807-9fe4e08fbaa5c7ce@postgresql.org

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/984384129bb8a92481d4f7ddd5dede2d781b191f

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 18 ++++++++++++++++++
contrib/postgres_fdw/postgres_fdw.c | 2 +-
contrib/postgres_fdw/sql/postgres_fdw.sql | 12 ++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)

#2Robins Tharakan
tharakan@gmail.com
In reply to: Etsuro Fujita (#1)
Re: pgsql: postgres_fdw: Fix assertion in estimate_path_cost_size().

Hi,

I think this bugfix needs to be backpatched to v12 too.

See backtrace / repro SQL here -
/messages/by-id/17713-92cce66de7e81c04@postgresql.org

-
Robins Tharakan
Amazon Web Services

Show quoted text

On Fri, 5 Feb 2021 at 17:05, Etsuro Fujita <efujita@postgresql.org> wrote:

postgres_fdw: Fix assertion in estimate_path_cost_size().

Commit 08d2d58a2 added an assertion assuming that the retrieved_rows
estimate for a foreign relation, which is re-used to cost pre-sorted
foreign paths with local stats, is set to at least one row in
estimate_path_cost_size(), which isn't correct because if the relation
is a foreign table with tuples=0, the estimate would be set to 0 there
when not using remote estimates.

Per bug #16807 from Alexander Lakhin. Back-patch to v13 where the
aforementioned commit went in.

Author: Etsuro Fujita
Reviewed-by: Kyotaro Horiguchi
Discussion: /messages/by-id/16807-9fe4e08fbaa5c7ce@postgresql.org

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/984384129bb8a92481d4f7ddd5dede2d781b191f

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 18 ++++++++++++++++++
contrib/postgres_fdw/postgres_fdw.c | 2 +-
contrib/postgres_fdw/sql/postgres_fdw.sql | 12 ++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)

#3Etsuro Fujita
fujita.etsuro@lab.ntt.co.jp
In reply to: Robins Tharakan (#2)
Re: pgsql: postgres_fdw: Fix assertion in estimate_path_cost_size().

Hi Robins,

On Mon, Dec 12, 2022 at 9:29 PM Robins Tharakan <tharakan@gmail.com> wrote:

I think this bugfix needs to be backpatched to v12 too.

See backtrace / repro SQL here -
/messages/by-id/17713-92cce66de7e81c04@postgresql.org

I misunderstood that the mentioned commit was added in v13. :-( Will
back-patch to v12 as well. Thanks for the report!

Best regards,
Etsuro Fujita