diff options
author | Robert Haas | 2016-02-05 13:07:38 +0000 |
---|---|---|
committer | Robert Haas | 2016-02-05 13:07:38 +0000 |
commit | e0e7b8fa22539a81cc390f8ec57d6b52391b1335 (patch) | |
tree | 105122b152d5dd70d6510af1b93e1377b920dc99 | |
parent | 63f39b9148319c2e399dd827941b4d579b79f18b (diff) |
Remove parallel-safety check from GetExistingLocalJoinPath.
Commit a104a017fc5f67ff5d9c374cd831ac3948a874c2 has this check because
I added it to the submitted patch before commit, but that was entirely
wrongheaded, as explained to me by Ashutosh Bapat, who also wrote this
patch.
-rw-r--r-- | doc/src/sgml/fdwhandler.sgml | 9 | ||||
-rw-r--r-- | src/backend/foreign/foreign.c | 9 |
2 files changed, 8 insertions, 10 deletions
diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml index a6945d3565..ffbd1e3bda 100644 --- a/doc/src/sgml/fdwhandler.sgml +++ b/doc/src/sgml/fdwhandler.sgml @@ -349,11 +349,10 @@ GetExistingLocalJoinPath(RelOptInfo *joinrel) The function returns copy of a local join path, which can be converted into an alternative local join plan, which may be useful when implementing a <literal>RecheckForeignScan</> method. The function - searches for a parallel-safe, unparameterized path in the - <literal>pathlist</> of given <literal>joinrel</>. If it does not find - such a path, it returns NULL, in which case a foreign data wrapper may - build the local path by itself or may choose not to create access paths - for that join. + searches for an unparameterized path in the <literal>pathlist</> of given + <literal>joinrel</>. If it does not find such a path, it returns NULL, in + which case a foreign data wrapper may build the local path by itself or + may choose not to create access paths for that join. </para> </sect2> diff --git a/src/backend/foreign/foreign.c b/src/backend/foreign/foreign.c index 213217966c..45180c7414 100644 --- a/src/backend/foreign/foreign.c +++ b/src/backend/foreign/foreign.c @@ -801,9 +801,8 @@ get_foreign_server_oid(const char *servername, bool missing_ok) * * Since the plan created using this path will presumably only be used to * execute EPQ checks, efficiency of the path is not a concern. But since the - * list passed is expected to be from RelOptInfo, it's anyway sorted by total - * cost and hence we are likely to choose the most efficient path, which is - * all for the best. + * path list in RelOptInfo is anyway sorted by total cost we are likely to + * choose the most efficient path, which is all for the best. */ extern Path * GetExistingLocalJoinPath(RelOptInfo *joinrel) @@ -817,8 +816,8 @@ GetExistingLocalJoinPath(RelOptInfo *joinrel) Path *path = (Path *) lfirst(lc); JoinPath *joinpath = NULL; - /* Skip parameterised or non-parallel-safe paths. */ - if (path->param_info != NULL || !path->parallel_safe) + /* Skip parameterised paths. */ + if (path->param_info != NULL) continue; switch (path->pathtype) |