Update more comments for 96198d94cb7adc664bda341842dc8db671d8be72.
Etsuro Fujita, reviewed (though not completely endorsed) by Ashutosh Bapat, and slightly expanded by me.
This commit is contained in:
parent
74a379b984
commit
6be84eeb8d
@ -3349,10 +3349,8 @@ postgresImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid)
|
|||||||
*
|
*
|
||||||
* 1) Join type is INNER or OUTER (one of LEFT/RIGHT/FULL)
|
* 1) Join type is INNER or OUTER (one of LEFT/RIGHT/FULL)
|
||||||
* 2) Both outer and inner portions are safe to push-down
|
* 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
|
* 3) All join conditions are safe to push down
|
||||||
* the same user mapping.
|
* 4) No relation has local filter (this can be relaxed for INNER JOIN, if we
|
||||||
* 4) All join conditions are safe to push down
|
|
||||||
* 5) No relation has local filter (this can be relaxed for INNER JOIN, if we
|
|
||||||
* can move unpushable clauses upwards in the join tree).
|
* can move unpushable clauses upwards in the join tree).
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
|
@ -213,7 +213,8 @@ add_paths_to_joinrel(PlannerInfo *root,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 5. If inner and outer relations are foreign tables (or joins) belonging
|
* 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 &&
|
if (joinrel->fdwroutine &&
|
||||||
joinrel->fdwroutine->GetForeignJoinPaths)
|
joinrel->fdwroutine->GetForeignJoinPaths)
|
||||||
|
@ -448,9 +448,11 @@ typedef struct PlannerInfo
|
|||||||
* in just as for a baserel, except we don't bother with lateral_vars.
|
* 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
|
* 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)
|
* 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)
|
* fdwroutine - function hooks for FDW, if foreign table (else NULL)
|
||||||
* fdw_private - private state for FDW, if foreign table (else NULL)
|
* fdw_private - private state for FDW, if foreign table (else NULL)
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user