On Thu, Dec 1, 2016 at 9:32 PM, Peter Eisentraut
<peter.eisentraut@2ndquadrant.com> wrote:
> I think it would be better to get rid of objargs and have objname be a
> general Node that can contain more specific node types so that there is
> some amount of type tracking. FuncWithArgs would be one such type,
> Typename would be another, Value would be used for simple strings, and
> we could create some other ones, or stick with lcons for some simple
> cases. But then we don't have to make stuff into one-item lists to just
> to satisfy the currently required List.
>
> That's the general idea. But that's a rather big change that I would
> rather break down into smaller pieces. I have a separate patch in
> progress for that, which I have attached here. It breaks some
> regression tests in object_address.sql, which I haven't evaluated yet,
> but that's the idea.
I think I disagree with this concept. I wouldn't shed many tears if
objname and objargs got replaced with some other kind of name
representation. But I don't think that should be done incrementally,
because then we'll be in this transitional zone where it's unclear
what the right way to do things is for a long time, possibly forever.
I'd be fine with a plan to rip out objname/objargs and replace it with
something less arbitrary, but until that's done I think new code
should stick with the existing representations.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company