Re: updated WIP: arrays of composites - Mailing list pgsql-patches

From Tom Lane
Subject Re: updated WIP: arrays of composites
Date
Msg-id 3133.1178916358@sss.pgh.pa.us
Whole thread Raw
In response to Re: updated WIP: arrays of composites  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-patches
Andrew Dunstan <andrew@dunslane.net> writes:
> Gregory Stark wrote:
>> BTW, why exactly do we need array types to have names at all?

Because typname is part of the primary key for pg_type ...

>> The only
>> user-visible way to refer to these types is always by foo[] isn't it?

> I think you can use the _foo name, but it would certainly be an odd
> thing to do.

There is *tons* of legacy code that uses _foo, mainly because there was
a time when we didn't support the [] notation in a lot of places where
types can be named.  There still are some places, in fact:

regression=# alter type widget[] set schema public;
ERROR:  syntax error at or near "["
LINE 1: alter type widget[] set schema public;
                         ^
regression=# alter type _widget set schema public;
ERROR:  cannot alter array type widget[]
HINT:  You can alter type widget, which will alter the array type as well.
regression=#

That particular one may not need fixed (anymore) but the real problem is
the torches-and-pitchforks session that will ensue if we break legacy
code for no reason beyond cosmetics.

IIRC some of the contrib modules still have instances of _foo in
their SQL scripts.

            regards, tom lane

pgsql-patches by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: updated WIP: arrays of composites
Next
From: Tom Lane
Date:
Subject: Re: updated WIP: arrays of composites