ProcedureCreate neglected to record dependencies on default expressions.
Thus, an object referenced in a default expression could be dropped while the function remained present. This was unaccountably missed in the original patch to add default parameters for functions. Reported by Pavel Stehule.
This commit is contained in:
parent
3e17a0020b
commit
50af47f12b
@ -545,6 +545,11 @@ ProcedureCreate(const char *procedureName,
|
||||
recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL);
|
||||
}
|
||||
|
||||
/* dependency on parameter default expressions */
|
||||
if (parameterDefaults)
|
||||
recordDependencyOnExpr(&myself, (Node *) parameterDefaults,
|
||||
NIL, DEPENDENCY_NORMAL);
|
||||
|
||||
/* dependency on owner */
|
||||
if (!is_update)
|
||||
recordDependencyOnOwner(ProcedureRelationId, retval, proowner);
|
||||
|
Loading…
x
Reference in New Issue
Block a user