summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas2016-02-05 13:07:38 +0000
committerRobert Haas2016-02-05 13:07:38 +0000
commite0e7b8fa22539a81cc390f8ec57d6b52391b1335 (patch)
tree105122b152d5dd70d6510af1b93e1377b920dc99
parent63f39b9148319c2e399dd827941b4d579b79f18b (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.sgml9
-rw-r--r--src/backend/foreign/foreign.c9
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)