Andrew Dunstan <andrew@dunslane.net> writes:
> Summarising the behaviour as I understand it:
> . if you never name a type/table with a name beginning with underscore,
> behaviour is as expected - type foo gets array type _foo
> . if you create a type foo and then create a type _foo, the array type
> for foo will first be renamed to __foo, and the new array type for _foo
> will be ___foo
> . if you create type _foo and then create type foo, the corresponding
> array types will be __foo and ___foo as per my patch, with no renaming
> required.
> I think I like it. Certainly seems to get round the ordering problem nicely.
At least as far as the user's names are concerned. There's some
ordering dependency for the names that the array types end up with,
but we had that problem already; and AFAIK it shouldn't create any
big issue for dump/restore.
BTW, I forgot to mention that this patch also fixes an oversight in the
original patch: we all missed the fact that ALTER TABLE RENAME didn't
rename the rowtype's array type.
regards, tom lane