From 807369d80384cdaa696cd65b4fcee46e32142344 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 26 Jan 2024 15:54:17 -0500 Subject: [PATCH] Compare varnullingrels too in assign_param_for_var(). Oversight in 2489d76c4. Preliminary analysis suggests that the problem may be unreachable --- but if we did have instances of the same column with different varnullingrels, we'd surely need to treat them as different Params. Discussion: https://postgr.es/m/412552.1706203379@sss.pgh.pa.us --- src/backend/optimizer/util/paramassign.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/util/paramassign.c b/src/backend/optimizer/util/paramassign.c index d6a923b0b68..ecbf9d299f3 100644 --- a/src/backend/optimizer/util/paramassign.c +++ b/src/backend/optimizer/util/paramassign.c @@ -90,7 +90,8 @@ assign_param_for_var(PlannerInfo *root, Var *var) pvar->varattno == var->varattno && pvar->vartype == var->vartype && pvar->vartypmod == var->vartypmod && - pvar->varcollid == var->varcollid) + pvar->varcollid == var->varcollid && + bms_equal(pvar->varnullingrels, var->varnullingrels)) return pitem->paramId; } }