Re: stand-alone composite types patch (was [HACKERS] Proposal: stand-alone composite types)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: stand-alone composite types patch (was [HACKERS] Proposal: stand-alone composite types)
Дата
Msg-id 29792.1028782522@sss.pgh.pa.us
обсуждение исходный текст
Ответ на stand-alone composite types patch (was [HACKERS] Proposal: stand-alone composite types)  (Joe Conway <mail@joeconway.com>)
Список pgsql-patches
Joe Conway <mail@joeconway.com> writes:
> Items 1 and 2 from the proposal above are implemented in the attached
> patch.

Good first cut, but...

I don't like the way you did the dependencies.  In a normal relation,
the type row is internally dependent on the class row.  This causes the
type to automatically go away if the relation is dropped, and it also
prevents an attempt to manually drop the type directly (without dropping
the relation).  For a composite type, of course we want exactly the
opposite behavior: the class row should internally depend on the type,
not vice versa.

If you did it that way then you'd not need that ugly kluge in
RemoveType.  What you'd need instead is some smarts (a kluge!?) in
setting up the dependency.  Currently that dependency is made in
TypeCreate which doesn't know what sort of relation it's creating
a type for.  Probably the best answer is to pull that particular
dependency out of TypeCreate, and make it (in the proper direction)
in AddNewRelationType.

Also, I'm not following the point of the separation between
DefineCompositeType and DefineCompositeTypeRelation; nor do I see a need
for a CommandCounterIncrement call in there.

You have missed a number of places where this new relkind ought to
be special-cased the same way RELKIND_VIEW is --- for example
CheckAttributeNames and AddNewAttributeTuples, since a composite type
presumably shouldn't have system columns associated.  I'd counsel
looking at all references to RELKIND_VIEW to see which places also need
to check for RELKIND_COMPOSITE_TYPE.

            regards, tom lane

В списке pgsql-patches по дате отправления:

Предыдущее
От: Joe Conway
Дата:
Сообщение: stand-alone composite types patch (was [HACKERS] Proposal: stand-alone composite types)
Следующее
От: Joe Conway
Дата:
Сообщение: Re: stand-alone composite types patch (was [HACKERS] Proposal: