Fix incorrect logic in plan dependency recording

Both 50e17ad28 and 29f45e299 mistakenly tried to record a plan dependency
on a function but mistakenly inverted the OidIsValid test.  This meant
that we'd record a dependency only when the function's Oid was
InvalidOid.  Clearly this was meant to *not* record the dependency in
that case.

50e17ad28 made this mistake first, then in v15 29f45e299 copied the same
mistake.

Reported-by: Tom Lane
Backpatch-through: 14, where 50e17ad28 first made this mistake
Discussion: https://postgr.es/m/2277537.1694301772@sss.pgh.pa.us
This commit is contained in:
David Rowley 2023-09-14 11:27:00 +12:00
parent a26cc0334f
commit 17a3f1c347
1 changed files with 2 additions and 2 deletions

View File

@ -1886,10 +1886,10 @@ fix_expr_common(PlannerInfo *root, Node *node)
set_sa_opfuncid(saop);
record_plan_function_dependency(root, saop->opfuncid);
if (!OidIsValid(saop->hashfuncid))
if (OidIsValid(saop->hashfuncid))
record_plan_function_dependency(root, saop->hashfuncid);
if (!OidIsValid(saop->negfuncid))
if (OidIsValid(saop->negfuncid))
record_plan_function_dependency(root, saop->negfuncid);
}
else if (IsA(node, Const))