Thread: pgsql: postgres_fdw: Account for tlist eval costs inestimate_path_cost

pgsql: postgres_fdw: Account for tlist eval costs inestimate_path_cost

From
Etsuro Fujita
Date:
postgres_fdw: Account for tlist eval costs in estimate_path_cost_size().

Previously, estimate_path_cost_size() didn't account for tlist eval
costs, except when costing a foreign-grouping path using local
statistics, but such costs should be accounted for when costing that path
using remote estimates, because some of the tlist expressions might be
evaluated locally.  Also, such costs should be accounted for in the case
of a foreign-scan or foreign-join path, because the tlist might contain
PlaceHolderVars, which postgres_fdw currently evaluates locally.

This also fixes an oversight in my commit f8f6e44676.

Like that commit, apply this to HEAD only to avoid destabilizing existing
plan choices.

Author: Etsuro Fujita
Discussion: https://postgr.es/m/5BFD3EAD.2060301%40lab.ntt.co.jp

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fd1afdbafd4fbb0ce23a3f319adc177e4cf8fe99

Modified Files
--------------
contrib/postgres_fdw/postgres_fdw.c | 41 +++++++++++++++++++++++++++++--------
1 file changed, 33 insertions(+), 8 deletions(-)