diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/nodes/relation.h | 2 | ||||
-rw-r--r-- | src/include/optimizer/pathnode.h | 5 | ||||
-rw-r--r-- | src/include/optimizer/paths.h | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h index 32321238ae4..f7796f8efbe 100644 --- a/src/include/nodes/relation.h +++ b/src/include/nodes/relation.h @@ -358,6 +358,7 @@ typedef struct PlannerInfo * cheapest_parameterized_paths - best paths for their parameterizations; * always includes cheapest_total_path, even if that's unparameterized * lateral_relids - required outer rels for LATERAL, as a Relids set + * (includes both direct and indirect lateral references) * * If the relation is a base relation it will have these fields set: * @@ -373,6 +374,7 @@ typedef struct PlannerInfo * lateral_vars - lateral cross-references of rel, if any (list of * Vars and PlaceHolderVars) * lateral_referencers - relids of rels that reference this one laterally + * (includes both direct and indirect lateral references) * indexlist - list of IndexOptInfo nodes for relation's indexes * (always NIL if it's not a table) * pages - number of disk pages in relation (zero if not a table) diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h index f41847f4093..8fb9eda01b6 100644 --- a/src/include/optimizer/pathnode.h +++ b/src/include/optimizer/pathnode.h @@ -148,7 +148,10 @@ extern RelOptInfo *build_join_rel(PlannerInfo *root, RelOptInfo *inner_rel, SpecialJoinInfo *sjinfo, List **restrictlist_ptr); -extern Relids min_join_parameterization(PlannerInfo *root, Relids joinrelids); +extern Relids min_join_parameterization(PlannerInfo *root, + Relids joinrelids, + RelOptInfo *outer_rel, + RelOptInfo *inner_rel); extern RelOptInfo *build_empty_join_rel(PlannerInfo *root); extern AppendRelInfo *find_childrel_appendrelinfo(PlannerInfo *root, RelOptInfo *rel); diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h index 87123a57295..7757741c104 100644 --- a/src/include/optimizer/paths.h +++ b/src/include/optimizer/paths.h @@ -98,6 +98,8 @@ extern RelOptInfo *make_join_rel(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2); extern bool have_join_order_restriction(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2); +extern bool have_dangerous_phv(PlannerInfo *root, + Relids outer_relids, Relids inner_params); /* * equivclass.c |