[Monetdb-developers] Monetdb-developers Digest, Vol 4, Issue 13

p.a.boncz p.a.boncz at chello.nl
Tue Sep 26 10:19:18 CEST 2006

Thanks Torsten! 

All clear here.  I may have created the impression to be opposed to this,
but my emotions are instead better summarized as surprise.

-----Original Message-----
From: Torsten Grust [mailto:torsten.grust at gmail.com] 
Sent: Tuesday, September 26, 2006 10:05 AM
To: p.a.boncz
Cc: 'Maurice van Keulen'; monetdb-developers at lists.sourceforge.net
Subject: Re: [Monetdb-developers] Monetdb-developers Digest, Vol 4, Issue 13

Hi all,

   before this diverges and Jens can chime in, a quick clarification:

On Sep 26, 2006, 9:54 AM, p.a.boncz wrote with possible deletions:
> [...]
> Thus my question to Jens what is the goal:
> (1) translation of existing XQuery recursion to fixpoint notation?
> (2) provide a separate different recursive language construct in  
> XQuery?
> Contrary to what you say, this proposal is not just an internal  
> algebraic
> operator, but foremost (2) a syntax extension. So all evidence  
> points to (2)
> and the absence of a real ambition to do (1). After all, we know  
> beforehand
> that if automatic translation were attempted, it would only work  
> for rare
> cases.

The motiviation behind 'with $v seeded by e1 recurse e2' purely stems  
from our desire to collaborate with the UvA people (Loredana, in  
particular).  The construct will bring Regular XPath (search Google)  
to MonetDB/XQuery -- and all chances are that MonetDB/XQuery gains  
some visibility because Regular XPath currently is a very prominent  
dialect of XPath in the data integration and DB theory communities.   
No less, no more.

We clearly have the real ambition to do (1).  And it indeed seems  
that a ''recursive back-end'' is required to achieve this.  (But not  
for Regular XPath.)  There is more involved, though, than ''simply''  
map to the recursion feature in the back-end.  We'd want to look at  
controlled unrolling (schema knowledge may help here) and  
identityfing some cases of tail recursion (presence of 'for' does not  
alleviate the need for tail recursion -- it's the other way around).

More on this later today?!,
   | Prof. Dr. Torsten Grust                         grust at in.tum.de |
   |                                 http://www-db.in.tum.de/~grust/ |
   |     Database Systems - Technische Universität München (Germany) |

More information about the developers-list mailing list