diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2024-01-26 15:54:17 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2024-01-26 15:54:17 -0500 |
commit | 5e444a2526cc6f4052ce0004e1df69135c47338a (patch) | |
tree | 0e162b1487b193014fa19d20ecd902c0e1bf87c2 /src/backend/optimizer/util/paramassign.c | |
parent | 25cd2d64021ae081cbcef1592e0ee04ddda2e975 (diff) | |
download | postgresql-5e444a2526cc6f4052ce0004e1df69135c47338a.tar.gz postgresql-5e444a2526cc6f4052ce0004e1df69135c47338a.zip |
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
Diffstat (limited to 'src/backend/optimizer/util/paramassign.c')
-rw-r--r-- | src/backend/optimizer/util/paramassign.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/optimizer/util/paramassign.c b/src/backend/optimizer/util/paramassign.c index a711003a3a4..a58da7c57ea 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; } } |