Commit 6be84eeb authored by Robert Haas's avatar Robert Haas

Update more comments for 96198d94.

Etsuro Fujita, reviewed (though not completely endorsed) by Ashutosh
Bapat, and slightly expanded by me.
parent 74a379b9
......@@ -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
......
......@@ -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)
......
......@@ -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)
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment