Hi,
The comments for create_foreignscan_path says as follows, but that it's
now possible that the function is called by GetForeignJoinPaths, which
was added in 9.5.
1450 /*
1451 * create_foreignscan_path
1452 * Creates a path corresponding to a scan of a foreign table,
1453 * returning the pathnode.
1454 *
1455 * This function is never called from core Postgres; rather, it's
expected
1456 * to be called by the GetForeignPaths function of a foreign data
wrapper.
1457 * We make the FDW supply all fields of the path, since we do not
have any
1458 * way to calculate them in core.
1459 */
So, I've updated the comments. Please find attached a patch.
Best regards,
Etsuro Fujita