postgres.git / summary / log / commit / refs

commit    6341cb0b02ae16d7bbb8b4e7ebabf80c551a685e
Author:   David Rowley <drowley@postgresql.org>
Date:     Wed Sep 13 23:27:43 2023 +0000

    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


src/backend/optimizer/plan/setrefs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index 60e5a7280a2..7c6e2037656 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -1775,7 +1775,7 @@ 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); } else if (IsA(node, Const)) [parent: e2452c2a630a]