postgres_fdw: Fix assertion in estimate_path_cost_size().
authorEtsuro Fujita <efujita@postgresql.org>
Fri, 5 Feb 2021 06:30:00 +0000 (15:30 +0900)
committerEtsuro Fujita <efujita@postgresql.org>
Fri, 5 Feb 2021 06:30:00 +0000 (15:30 +0900)
commit5e7fa189ee92d5ecf42a295c336625d71bfe876d
tree10ad11babfbb7d16e4e93ad1c846428ebbb5b887
parent0ff865fbe50e82f17df8a9280fa01faf270b7f3f
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: https://postgr.es/m/16807-9fe4e08fbaa5c7ce%40postgresql.org
contrib/postgres_fdw/expected/postgres_fdw.out
contrib/postgres_fdw/postgres_fdw.c
contrib/postgres_fdw/sql/postgres_fdw.sql