Tom Lane wrote:

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.

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.

Then I think we need to work out a way to make pg_dump smart enough to dump things in the right order.

Can we perhaps explicitly deprecate using the type name to refer to array types?



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?


Reply via email to