On Wed, Apr 13, 2011 at 07:57:29PM -0700, Robert Haas wrote:
> On Sat, Apr 9, 2011 at 6:57 PM, Noah Misch <noah@leadboat.com> wrote:
> > While looking at the typed table/pg_upgrade problem, I ran into a few smaller
> > problems in the area. ?I'm not envisioning a need for much code shift to fix
> > them, but there are a few points of policy.
> >
> > * Table row types used in typed tables vs. ALTER TABLE
> > As previously noted:
> > ?CREATE TABLE t ();
> > ?CREATE TABLE is_a OF t;
> > ?ALTER TABLE t ADD c int;
> > ?\d is_a
> > ?-- No columns
> >
> > At first I thought we should just forbid the use of table row types in CREATE
> > TABLE OF. ?However, we've been quite systematic about not distinguishing between
> > table row types and CREATE TYPE AS types; I've only found a distinction in ALTER
> > TABLE/ALTER TYPE, where we direct you to the other command. ?It would be nice to
> > preserve this heritage. ?That doesn't look particularly difficult; it may
> > actually yield a net code reduction.
>
> I guess my gut feeling is that it would make more sense to forbid it
> outright for 9.1, and we can look at relaxing that restriction later
> if we're so inclined.
>
> Much as with the problem Tom fixed in commit
> eb51af71f241e8cb199790dee9ad246bb36b3287, I'm concerned that there may
> be other cases that we're not thinking of right now, and while we
> could find them all and fix them, the amount of functionality gained
> is fairly marginal, and I don't really want to hold up the release
> while we bug-swat.
Symmetry was the best cause I could find to continue allowing it, and your case
in favor of reducing the bug surface is more compelling. Let's forbid it.
Thanks,
nm