Re: database design method

From: Jan Hidders <hidders_at_REMOVE.THIS.uia.ua.ac.be>
Date: 16 Nov 2002 00:34:51 +0100
Message-ID: <3dd5849b$1_at_news.uia.ac.be>


Lauri Pietarinen wrote:
>Jan,
>
>> So can I abuse you a little more as my tutorial-D tutor? :-) Can I have
>> recursive types? For example (probably not the right syntax, but I think you
>> will understand what I mean):
>>
>> TYPE Tree = TUPLE { NODE-VALUE STRING, SUBTREES RELATION { TREE Tree } }
>
>just returning to this question. I did not find anything related to
>recursive definitions in TTM (www.thethirdmanifesto.com).

Ok. Thanks for looking. When I browse through it I get the impression from their terminology that they haven't really considered it but it is not explicitly ruled out either.

>However, here is an example of a recursive operator expressed in Tutorial-D
>(page 163, 2ed):
>
>OPERATOR TRANCLO ( XY RELATION { X P#, Y P# } )
> RETURNS RELATION { X P#, Y P# } ;
> RETURN
> WITH ( XY UNION ( ( XY COMPOSE
> ( XY RENAME ( Y AS Z, X AS Y ) ) )
> RENAME Z AS Y ) ) AS TTT :
> IF TTT = XY THEN TTT /* unwind recursion */
> ELSE TRANCLO ( TTT ) /* recursive invocation */
> END IF;
> END OPERATOR;
Wow. That's a pretty powerful type of recursion. It will be interesting to see how well query optimization for such recursive expressions will perform once this gets really implemented. Dataphor has this I presume?

  • Jan Hidders
Received on Sat Nov 16 2002 - 00:34:51 CET

Original text of this message