aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/planmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/plan/planmain.c')
-rw-r--r--src/backend/optimizer/plan/planmain.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/optimizer/plan/planmain.c b/src/backend/optimizer/plan/planmain.c
index 9838dc45d5e..04acc006f53 100644
--- a/src/backend/optimizer/plan/planmain.c
+++ b/src/backend/optimizer/plan/planmain.c
@@ -141,6 +141,7 @@ query_planner(PlannerInfo *root, List *tlist,
root->right_join_clauses = NIL;
root->full_join_clauses = NIL;
root->join_info_list = NIL;
+ root->lateral_info_list = NIL;
root->placeholder_list = NIL;
root->initial_rels = NIL;
@@ -178,9 +179,17 @@ query_planner(PlannerInfo *root, List *tlist,
find_placeholders_in_jointree(root);
+ find_lateral_references(root);
+
joinlist = deconstruct_jointree(root);
/*
+ * Create the LateralJoinInfo list now that we have finalized
+ * PlaceHolderVar eval levels.
+ */
+ create_lateral_join_info(root);
+
+ /*
* Reconsider any postponed outer-join quals now that we have built up
* equivalence classes. (This could result in further additions or
* mergings of classes.)