Skip to content

Commit e0e7b8f

Browse files
committed
Remove parallel-safety check from GetExistingLocalJoinPath.
Commit a104a01 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.
1 parent 63f39b9 commit e0e7b8f

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

doc/src/sgml/fdwhandler.sgml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -349,11 +349,10 @@ GetExistingLocalJoinPath(RelOptInfo *joinrel)
349349
The function returns copy of a local join path, which can be converted
350350
into an alternative local join plan, which may be useful when
351351
implementing a <literal>RecheckForeignScan</> method. The function
352-
searches for a parallel-safe, unparameterized path in the
353-
<literal>pathlist</> of given <literal>joinrel</>. If it does not find
354-
such a path, it returns NULL, in which case a foreign data wrapper may
355-
build the local path by itself or may choose not to create access paths
356-
for that join.
352+
searches for an unparameterized path in the <literal>pathlist</> of given
353+
<literal>joinrel</>. If it does not find such a path, it returns NULL, in
354+
which case a foreign data wrapper may build the local path by itself or
355+
may choose not to create access paths for that join.
357356
</para>
358357

359358
</sect2>

src/backend/foreign/foreign.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -801,9 +801,8 @@ get_foreign_server_oid(const char *servername, bool missing_ok)
801801
*
802802
* Since the plan created using this path will presumably only be used to
803803
* execute EPQ checks, efficiency of the path is not a concern. But since the
804-
* list passed is expected to be from RelOptInfo, it's anyway sorted by total
805-
* cost and hence we are likely to choose the most efficient path, which is
806-
* all for the best.
804+
* path list in RelOptInfo is anyway sorted by total cost we are likely to
805+
* choose the most efficient path, which is all for the best.
807806
*/
808807
extern Path *
809808
GetExistingLocalJoinPath(RelOptInfo *joinrel)
@@ -817,8 +816,8 @@ GetExistingLocalJoinPath(RelOptInfo *joinrel)
817816
Path *path = (Path *) lfirst(lc);
818817
JoinPath *joinpath = NULL;
819818

820-
/* Skip parameterised or non-parallel-safe paths. */
821-
if (path->param_info != NULL || !path->parallel_safe)
819+
/* Skip parameterised paths. */
820+
if (path->param_info != NULL)
822821
continue;
823822

824823
switch (path->pathtype)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy