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@gmail.com] Sent: Tuesday, September 26, 2006 10:05 AM To: p.a.boncz Cc: 'Maurice van Keulen'; monetdb-developers@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?!, --Teggy -- | Prof. Dr. Torsten Grust grust@in.tum.de | | http://www-db.in.tum.de/~grust/ | | Database Systems - Technische Universität München (Germany) |