On 15.4.2011 22:49, Kevin Grittner wrote:
> Rikard Pavelic <rikard.pavelic@zg.htnet.hr> wrote:
>> On 15.4.2011 21:06, Tom Lane wrote:
>>> The former.
>>>
>>> regression=# CREATE TYPE turtle AS
>>> (
>>> name varchar
>>> );
>>> CREATE TYPE
>>> regression=# ALTER TYPE turtle ADD ATTRIBUTE offspring turtle;
>>> ERROR: composite type turtle cannot be made a member of itself
>>> regression=#
>
>> Todo item?
>
> I haven't seen anything which seems like a reasonable use case yet,
> myself. If you were *actually* tracking turtles and their
> offspring, that would be a completely worthless data structure. Is
> there really a case where a reference to the ID of an object of like
> type isn't a better solution?
>
> -Kevin
>
I'm trying to map application and database domain as close as possible.
So it's not that I have an use case, but have a mismatch which cannot be mapped.
This feature would reduce object-relational impedance mismatch in DDD,
so I think it is worth an Todo item.
Is this design strange/stupid? Probably.
But, currently it behaves as struct. It would be nice if it behaved as class
(when attribute is nullable).
Regards,
Rikard