Re: BUG #14706: Dependencies not recorded properly for base types

Michael Paquier <michael.paquier@gmail.com>

From: Michael Paquier <michael.paquier@gmail.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, khuddleston@pivotal.io, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2017-06-16T01:54:25Z
Lists: pgsql-bugs
On Fri, Jun 16, 2017 at 1:38 AM, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
> On 06/15/2017 07:31 PM, Tom Lane wrote:
>>
>> Heikki Linnakangas <hlinnaka@iki.fi> writes:
>>>
>>> Hmm. Strictly speaking there's no need to update the dependency when
>>> changing opaque into cstring. Because cstring is a pinned type,
>>> recordDependency will do nothing for it.
>>
>>> But in any case, I think it'd be better and simpler to fix the
>>> dependency in SetFunctionArgType() and SetFunctionReturnType() functions
>>> themselves. They're the ones that change the type, they ought to be
>>> responsible for fixing the dependency too. See attached.
>>
>> Yeah, Heikki's version looks good to me.
>>
>> Heikki, are you going to commit/backpatch this, or do you want me to?
>
> I can do it, thanks.

Fine for me. My first quick guess was better than what I coded at the
end, the idea being to wait after TypeCreate() to get the ObjectAdress
of the new type.
-- 
Michael


Commits

  1. Fix dependency, when changing a function's argument/return type.