Hi, The declaration of estimate_path_cost_size uses baserel, but the actual definition uses foreignrel. It would be better to sync.
Please find attached a patch. Tatsuro Yamada NTT Open Source Software Center
diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c index 7992ba5..f7da056 100644 --- a/contrib/postgres_fdw/postgres_fdw.c +++ b/contrib/postgres_fdw/postgres_fdw.c @@ -353,7 +353,7 @@ static void postgresGetForeignUpperPaths(PlannerInfo *root, * Helper functions */ static void estimate_path_cost_size(PlannerInfo *root, - RelOptInfo *baserel, + RelOptInfo *foreignrel, List *join_conds, List *pathkeys, double *p_rows, int *p_width,