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

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, khuddleston@pivotal.io, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2017-06-16T08:49:48Z
Lists: pgsql-bugs
On 06/16/2017 04:54 AM, Michael Paquier wrote:
> 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.

Ok, committed and backported, thanks!

- Heikki



Commits

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