From 5d8dd5c58af61d3579db5352a1cd06523e274333 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 11 Nov 2026 16:59:27 +0000 Subject: [PATCH v1 1/2] Reject nonstrict FULL JOIN deductions --- src/backend/optimizer/path/equivclass.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c index 439cb651c01..c20516b16a4 100644 --- a/src/backend/optimizer/path/equivclass.c +++ b/src/backend/optimizer/path/equivclass.c @@ -2458,6 +2458,10 @@ reconsider_full_join_clause(PlannerInfo *root, OuterJoinClauseInfo *ojcinfo) left_relids = rinfo->left_relids; right_relids = rinfo->right_relids; + if (contain_nonstrict_functions((Node *) leftvar) || + contain_nonstrict_functions((Node *) rightvar)) + return false; + /* * Identify the child JoinDomains within which LEFTVAR = CONSTANT and * RIGHTVAR = CONSTANT would hold. We mustn't assume that LEFTVAR comes -- 2.43.0