mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Don't require a user mapping for FDWs to work.
Commit fbe5a3fb73
accidentally changed
this behavior; put things back the way they were, and add some
regression tests.
Report by Andres Freund; patch by Ashutosh Bapat, with a bit of
kibitzing by me.
This commit is contained in:
@ -3910,6 +3910,16 @@ foreign_join_ok(PlannerInfo *root, RelOptInfo *joinrel, JoinType jointype,
|
||||
List *joinclauses;
|
||||
List *otherclauses;
|
||||
|
||||
/*
|
||||
* Core code may call GetForeignJoinPaths hook even when the join
|
||||
* relation doesn't have a valid user mapping associated with it. See
|
||||
* build_join_rel() for details. We can't push down such join, since
|
||||
* there doesn't exist a user mapping which can be used to connect to the
|
||||
* foreign server.
|
||||
*/
|
||||
if (!OidIsValid(joinrel->umid))
|
||||
return false;
|
||||
|
||||
/*
|
||||
* We support pushing down INNER, LEFT, RIGHT and FULL OUTER joins.
|
||||
* Constructing queries representing SEMI and ANTI joins is hard, hence
|
||||
|
Reference in New Issue
Block a user