Update more comments for 96198d94cb.

Etsuro Fujita, reviewed (though not completely endorsed) by Ashutosh
Bapat, and slightly expanded by me.
This commit is contained in:
Robert Haas 2016-03-14 14:27:11 -04:00
parent 74a379b984
commit 6be84eeb8d
3 changed files with 7 additions and 6 deletions

View File

@ -3349,10 +3349,8 @@ postgresImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid)
*
* 1) Join type is INNER or OUTER (one of LEFT/RIGHT/FULL)
* 2) Both outer and inner portions are safe to push-down
* 3) All foreign tables in the join belong to the same foreign server and use
* the same user mapping.
* 4) All join conditions are safe to push down
* 5) No relation has local filter (this can be relaxed for INNER JOIN, if we
* 3) All join conditions are safe to push down
* 4) No relation has local filter (this can be relaxed for INNER JOIN, if we
* can move unpushable clauses upwards in the join tree).
*/
static bool

View File

@ -213,7 +213,8 @@ add_paths_to_joinrel(PlannerInfo *root,
/*
* 5. If inner and outer relations are foreign tables (or joins) belonging
* to the same server, give the FDW a chance to push down joins.
* to the same server and using the same user mapping, give the FDW a
* chance to push down joins.
*/
if (joinrel->fdwroutine &&
joinrel->fdwroutine->GetForeignJoinPaths)

View File

@ -448,9 +448,11 @@ typedef struct PlannerInfo
* in just as for a baserel, except we don't bother with lateral_vars.
*
* If the relation is either a foreign table or a join of foreign tables that
* all belong to the same foreign server, these fields will be set:
* all belong to the same foreign server and use the same user mapping, these
* fields will be set:
*
* serverid - OID of foreign server, if foreign table (else InvalidOid)
* umid - OID of user mapping, if foreign table (else InvalidOid)
* fdwroutine - function hooks for FDW, if foreign table (else NULL)
* fdw_private - private state for FDW, if foreign table (else NULL)
*